0

CUDA Cを使用して次の式を計算する最も効率的な方法は何ですか?

(A - B(D^-1)B^T)^-1

ここで、Dは非常に大きな対称行列で、Aは小さな対称行列です。これにより、BB^Tは中サイズの長方形の非対称行列になります。もちろん、(^-1) と (^T) はそれぞれ逆演算と転置演算です。

4

1 に答える 1

1

「低」レベルのプログラミングが可能な場合は、行列反転をCULAまたはMAGMAライブラリで実行できます。

CULA Dense には、システム ソルブ、線形最小二乗法ソルブ、および制約付き線形最小二乗法ソルブの単一 (実数または複素数) 精度が含まれています。CULA Sparse は、スパース行列の反復ソルバーのコレクションです。Magma には、正方倍精度行列の逆数を計算するためのdgetrfとが含まれています。dgetri

転置を含む行列の乗算では、cuBLASルーチンを使用できます。

「より高い」レベルのプログラミングを好む場合は、ArrayFireを使用すると、行列の乗算、逆変換、転置、線形システムの解法、要素ごとの演算をより自然な数学的構文で実行できます。また、Matlab にはNVIDIA CUDA 対応 GPU の GPU コンピューティング サポートがあります。

于 2013-08-18T21:19:41.633 に答える