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

◆ Zgemm()

Sub Zgemm ( Transa As  String,
Transb As  String,
M As  Long,
N As  Long,
K As  Long,
Alpha As  Complex,
A() As  Complex,
B() As  Complex,
Beta As  Complex,
C() As  Complex,
Optional Info As  Long 
)

C <- αOp(A)Op(B) + βC (Op(X) = X, XT または XH) (複素行列) (BLAS 3)

目的
本ルーチンは次の行列×行列操作を行う.
C <- αOp(A)Op(B) + βC
ここで, Op(X)は次のいずれかである.
Op(X) = X, Op(X) = X^T または Op(X) = X^H
αおよびβはスカラー, また, A, BおよびCは行列で, Op(A)はm×k行列, Op(B)はk×n行列, そして, Op(C)はm×n行列である.
引数
[in]Transa行列×行列操作で使われるOp(A)の形式を指定.
= "N": Op(A) = A
= "T": Op(A) = A^T
= "C": Op(A) = A^H
[in]Transb行列×行列操作で使われるOp(B)の形式を指定.
= "N": Op(B) = B
= "T": Op(B) = B^T
= "C": Op(B) = B^H
[in]M行列Op(A)および行列Cの行数. (M >= 0) (M = 0 の場合, 処理を行わずに戻る)
[in]N行列Op(B)および行列Cの列数. (N >= 0) (N = 0 の場合, 処理を行わずに戻る)
[in]K行列Op(A)の列数および行列Op(B)の行数. (K >= 0)
[in]Alphaスカラーα.
[in]A()配列 A(LA1 - 1, LA2 - 1) (LA1 >= M, LA2 >= K (Transa = "N" の場合), LA1 >= K, LA2 >= M (Transa = "T"または"C" の場合))
行列 A.
[in]B()配列 B(LB1 - 1, LB2 - 1) (LB1 >= K, LB2 >= N (Transb = "N" の場合), LB1 >= N, LB2 >= K (Transb = "T"または"C" の場合))
行列 B.
[in]Betaスカラーβ. βが0の場合, Cの入力値は設定不要である.
[in,out]C()配列 C(LC1 - 1, LC2 - 1) (LC1 >= M, LC2 >= N)
[in] 行列 C.
[out] 行列 αOp(A)Op(B) + βC.
[out]Info(省略可)
= 0: 正常終了.
= -1: パラメータ Transa の誤り. (Transa <> "N", "T"および"C")
= -2: パラメータ Transb の誤り. (Transb <> "N", "T"および"C")
= -3: パラメータ M の誤り. (M < 0)
= -4: パラメータ N の誤り. (N < 0)
= -5: パラメータ K の誤り. (K < 0)
= -7: パラメータ A() の誤り.
= -8: パラメータ B() の誤り.
= -10: パラメータ C() の誤り.
出典
BLAS