1

blasでtptrsを転置するにはどうすればよいですか?

解決したい:

XA = B

しかし、 tptrs だけで解決できるようです:

AX = B

または、tptrs で「transpose」フラグを使用します。

A'X = B

再配置は次のとおりです。

(A'X)' = B'
X'A = B'

したがって、これを使用して XA = B を解くことができますが、最初に手動で B を自分で転置してから、再び答えを転置する必要があります。転置を行う必要を避けるためのトリックがありませんか?

4

1 に答える 1

2

TPTRS は BLAS ルーチンではありません。これは LAPACK ルーチンです。

A が B および X に比べて比較的小さい場合、それを「通常の」三角行列にアンパックし、XA = B を指定できるようにする「サイド」引数を取る BLAS ルーチン TRSM を使用するための適切なオプションです。A が mxm の場合および B が nxm の場合、アンパックにより m^2 操作が追加されます。これは、解決を行うための O(nm^2) 操作と比較して少量のオーバーヘッドになります。

于 2013-06-29T14:33:11.530 に答える