プロが教えるわが家の防犯対策術!

BLASのレベル3の関数で用いられている『ssyrk』や『ssyr2k』とは、数学的にはどういう意味なのでしょうか??
自分なりに調べたところによると、『行列式のランクkの更新』という意味らしいのですが、この『行列式のランクkの更新』という意味が理解できません・・・
よろしくお願いします。

A 回答 (1件)

こんばんは.



演算の意味は行列式ではなく「行列」のランクk更新ですね.
ssyrkはn*n行列Cとn*k行列Aに関して
C := αA*A^T + β*C
またはk*n行列Aに関して
C := αA^T*A + β*C
という演算を行うことによります(^Tは転置記号とします).
この場合,「更新」の意味は行列Cのランクは最大でk増えることによります.

ssyrk2はn*n行列Cとn*k行列A,Bに関して
C := αA*B^T + αB*A^T + β*C
またはk*n行列A,Bに関して
C := αA^T*B + αB^T*A + β*C
先と同様に行列Cのランクは最大で2*kだけ増えます.

参考URLに倍精度実数版のdsyrkとdsyrk2の動作について図入りで説明されています.
ただし,BLASのC言語インターフェースであるCBLASについてのようですが…

参考URL:http://www.mlab.ice.uec.ac.jp/~ej-sib/numerical/ …
    • good
    • 0
この回答へのお礼

返信が遅くなって大変申し訳ありません。
とてもわかりやすい解説ありがとうございましたm(__)m

お礼日時:2009/01/07 15:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!