XLPack 6.1
Excel VBA 数値計算ライブラリ・リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ Zher2k()

Sub Zher2k ( Uplo As  String,
Trans As  String,
N As  Long,
K As  Long,
Alpha As  Complex,
A() As  Complex,
B() As  Complex,
Beta As  Double,
C() As  Complex,
Optional Info As  Long 
)

Rank 2k 操作: C <- αABH + conjg(α)BAH + βC または C <- αAHB + conjg(α)BHA + βC (エルミート行列) (BLAS 3)

目的
本ルーチンはエルミート rank 2k 操作を行う.
C <- αAB^H + conjg(α)BA^H + βC または C <- αA^HB + conjg(α)B^HA + βC
ここで, αはスカラー, βは実数のスカラー, Cはn×nエルミート行列, また, AおよびBはn×k行列(最初の場合)またはk×n行列(2番目の場合)である.
引数
[in]Uplo配列C()の上三角部分あるいは下三角部分のどちらを参照するかを指定.
= "U": C()の上三角部分のみを参照.
= "L": C()の下三角部分のみを参照.
[in]Trans行う操作の指定.
= "N": C <- αAB^H + conjg(α)BA^H + βC.
= "C": C <- αA^HB + conjg(α)B^HA + βC.
[in]N行列 C の行および列数. (N >= 0) (N = 0 の場合, 処理を行わずに戻る)
[in]K行列 A の列数 (Trans="N"の場合)、行列 A の行数 (Trans="C"の場合) (K >= 0)
[in]Alphaスカラーα.
[in]A()配列 A(LA1 - 1, LA2 - 1) (LA1 >= N, LA2 >= K (Trans="N"の場合), LA1 >= K, LA2 >= N (その他の場合))
N×K行列 A (Trans = "N"の場合) または K×N行列 A (その他の場合).
[in]B()配列 B(LB1 - 1, LB2 - 1) (LB1 >= N, LB2 >= K (Trans="N"の場合), LB1 >= K, LB2 >= N (その他の場合))
N×K行列 B (Trans = "N"の場合) または K×N行列 B (その他の場合).
[in]Betaスカラーβ.
[in,out]C()配列 C(LC1 - 1, LC2 - 1) (LC1 >= N, LC2 >= N)
[in] N×Nエルミート行列 C. Uploに従い上三角部分あるいは下三角部分のみが参照される. 対角要素の虚数部は設定不要で, 0と仮定される.
[out] αAB^H + conjg(α)BA^H + βC (Trans="N"の場合) または αA^HB + conjg(α)B^HA + βC (その他の場合). Uploに従い上三角部分あるいは下三角部分のみが上書きされる. 対角要素の虚数部は0に設定される.
[out]Info(省略可)
= 0: 正常終了.
= -1: パラメータ Uplo の誤り. (Uplo <> "U"および"L")
= -2: パラメータ Trans の誤り. (Trans <> "N"および"C")
= -3: パラメータ N の誤り. (N < 0)
= -4: パラメータ K の誤り. (K < 0)
= -6: パラメータ A() の誤り.
= -7: パラメータ B() の誤り.
= -9: パラメータ C() の誤り.
出典
BLAS