|
|
◆ zgemm()
| void zgemm |
( |
char |
transa, |
|
|
char |
transb, |
|
|
int |
m, |
|
|
int |
n, |
|
|
int |
k, |
|
|
doublecomplex |
alpha, |
|
|
int |
lda, |
|
|
doublecomplex |
a[], |
|
|
int |
ldb, |
|
|
doublecomplex |
b[], |
|
|
doublecomplex |
beta, |
|
|
int |
ldc, |
|
|
doublecomplex |
c[] |
|
) |
| |
C <- αop(A)op(B) + βC (op(X) = X, XT または XH) (複素行列) (BLAS 3)
- 目的
- 本ルーチンは次の行列×行列操作を行う. ここで, 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] | lda | 二次元配列a[][]の整合寸法. (lda >= max(1, m) (transa = 'N'の場合), lda >= max(1, k) (その他の場合)) |
| [in] | a[][] | 配列 a[la][lda] (la >= k (transa = 'N'の場合), la >= m (その他の場合))
m×k行列A (transa = 'N'の場合) または k×m行列A (その他の場合). |
| [in] | ldb | 二次元配列b[][]の整合寸法. (ldb >= max(1, k) (transb = 'N'の場合), ldb >= max(1, n) (その他の場合)) |
| [in] | b[][] | 配列 b[lb][ldb] (lb >= n (transa = 'N'の場合), lb >= k (その他の場合))
k×n行列B (transa = 'N'の場合) または n×k行列B (その他の場合). |
| [in] | beta | スカラーβ. βが0の場合, Cの入力値は設定不要である. |
| [in] | ldc | 二次元配列c[][]の整合寸法. (ldc >= max(1, m)) |
| [in,out] | c[][] | 配列 c[lc][ldc] (lc >= n)
[in] m×n行列 C.
[out] m×n出力行列. (= αOp(A)Op(B) + βC) |
- 出典
- BLAS
|