Skip to main content
QUICK REVIEW

[論文レビュー] On fast matrix-vector multiplication with a Hankel matrix in multiprecision arithmetics

Gleb Beliakov|arXiv (Cornell University)|Feb 21, 2014
Matrix Theory and Algorithms参考文献 9被引用数 3
ひとこと要約

本稿では、高精度演算におけるFFTベース手法の高コストに起因する非効率性を克服するため、Hankel行列における高速な行列-ベクトル積を実現する2つの効率的アルゴリズムを提示する。1つ目の手法は、標準FFTルーチンの利用を可能にするために、多倍長数を二重精度成分の和に分解するものである。2つ目の手法は、Karatsuba乗算にインspiredされた再帰的アプローチを用い、O(n^log 3)の計算量を達成し、高精度環境下で優れた性能と正確性を発揮する。

ABSTRACT

We present two fast algorithms for matrix-vector multiplication $y=Ax$, where $A$ is a Hankel matrix. The current asymptotically fastest method is based on the Fast Fourier Transform (FFT), however in multiprecision arithmetics with very high accuracy FFT method is actually slower than schoolbook multiplication for matrix sizes up to $n=8000$. One method presented is based on a decomposition of multiprecision numbers into sums, and applying standard or double precision FFT. The second method, inspired by Karatsuba multiplication, is based on recursively performing multiplications with matrices of half-size of the original. Its complexity in terms of the matrix size $n$ is $Θ(n^{\log 3})$. Both methods are applicable to Toeplitz matrices and to circulant matrices.

研究の動機と目的

  • 高精度算術におけるFFTベースの行列-ベクトル積の非効率性(計算コストの高さとネストされたFFT呼び出し)を解消すること。
  • 大規模な行列サイズにおいて、標準FFTおよびスクールブック乗算を上回る性能を発揮する代替アルゴリズムの開発。
  • 標準FFTを多倍長数に適用する際の共通する中間精度損失を回避することで、数値的正確性を確保すること。
  • 実装が簡単であり、高性能計算向けに並列化に適した方法の設計。
  • Hankel行列と構造的に同等のToeplitz行列および巡回行列への適用可能性の拡張。

提案手法

  • Hankel行列およびベクトルに含まれる各多倍長数を、標準精度FFTライブラリの利用を可能にする二重精度成分の和に分解する。
  • 成分ごとのFFT結果から最終的な結果を再構成し、中間段階での丸め誤差を回避して完全精度出力を保証する。
  • 4つの乗算を1ステップごとに3つに削減するKaratsuba乗算にインスパイアされた再帰的アルゴリズムを提案する。
  • 入力ベクトルおよびHankel行列をn/2サイズのより小さな部分問題に再帰的に分割し、線形結合によって補助ベクトルを構築する。
  • 分割統治アプローチを採用し、3つのより小さなHankel行列に対する再帰的呼び出しを実行した後、加算・減算ステップで結果を組み立てる。
  • 3つの再帰的呼び出しが独立しているため、スレッドごとに別々に実行可能であり、負荷の偏りが生じず、バランスの取れたワークロード配分が可能となる。

実験結果

リサーチクエスチョン

  • RQ1FFTベースの行列-ベクトル積が、禁止的なオーバーヘッドを伴わずに多倍長算術に適応可能か?
  • RQ2O(n^log 3)の計算量を持つKaratsubaにインスパイアされた再帰的アルゴリズムが、高精度環境下でFFTおよびスクールブック乗算を上回る性能を発揮するか?
  • RQ3提案されたアルゴリズムが、多倍長数に適用された標準FFTで一般的に見られるキャンセルエラーを回避しながら、完全精度を維持できるか?
  • RQ4再帰的アルゴリズムは、負荷の偏りや顕著な同期コストを引き起こさずに、どの程度まで並列化可能か?
  • RQ5多倍長算術における加算と乗算の計算コストはどのようにスケーリングされるか?また、乗算回数を減らすアルゴリズムに有利に働くように利用可能か?

主な発見

  • 二重精度成分への分解を用いたFFTベース手法は、O(n log n)の計算量を達成し、既存の最適化されたFFTライブラリを活用できるが、中間段階でのキャンセルに起因する正確性の損失のリスクを有する。
  • Karatsubaにインスパイアされた再帰的アルゴリズムは、O(n^log 3)の計算量を達成し、n > 2の範囲で理論的上限として最大3n^log 3回の乗算と4n^log 3回の加算を有する。
  • n > 3のすべてのnにおいて、多倍長算術における加算と乗算の相対的コストにかかわらず、スクールブック乗算よりも計算的に効率的である。
  • アルゴリズムは本質的に並列化可能であり、3つの独立した再帰的呼び出しが別々のスレッドやマシンで並列実行可能で、各々が等しい作業量を処理する。
  • 中間精度の低下に起因する正確性の低下を回避し、完全精度の計算を全段階で保証する。
  • 実験的評価を計画しており、特にn = 8000までの行列サイズおよび10,000桁の精度レベルにおいて、両手法の実用的性能を比較する。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。