|
|
◆ zsyr2k()
| void zsyr2k |
( |
char |
uplo, |
|
|
char |
trans, |
|
|
int |
n, |
|
|
int |
k, |
|
|
doublecomplex |
alpha, |
|
|
int |
lda, |
|
|
doublecomplex |
a[], |
|
|
int |
ldb, |
|
|
doublecomplex |
b[], |
|
|
doublecomplex |
beta, |
|
|
int |
ldc, |
|
|
doublecomplex |
c[] |
|
) |
| |
Rank 2k 操作: C <- αABT + αBAT + βC または C <- αATB + αBTA + βC (複素対称行列) (BLAS 3)
- 目的
- 本ルーチンは対称 rank 2k 操作を行う.
C <- αAB^T + αBA^T + βC または C <- αA^TB + αB^TA + βC
ここで, αおよびβはスカラー, Cはn×n対称行列, また, AおよびBはn×k行列(最初の場合)またはk×n行列(2番目の場合)である.
- 引数
-
| [in] | uplo | 配列c[][]の上三角部分あるいは下三角部分のどちらを参照するかを指定.
= 'U': c[][]の上三角部分のみを参照.
= 'L': c[][]の下三角部分のみを参照. |
| [in] | trans | 行う操作の指定.
= 'N': C <- αAB^T + αBA^T + βC.
= 'T': C <- αA^TB + αB^TA + βC. |
| [in] | n | 行列 C の行および列数. (n >= 0) (n = 0 の場合, 処理を行わずに戻る) |
| [in] | k | 行列AおよびBの列数. (trans = 'N'の場合), 行列AおよびBの行数 (trans = 'T'の場合) (k >= 0) |
| [in] | alpha | スカラーα. |
| [in] | lda | 二次元配列a[][]の整合寸法. (lda >= max(1, n) (trans = 'N'の場合), lda >= max(1, k) (その他の場合)) |
| [in] | a[][] | 配列 a[la][lda] (la >= k (trans = 'N'の場合), la >= n (その他の場合))
n×k行列 A (trans = 'N'の場合) または k×n行列 A (その他の場合). |
| [in] | ldb | 二次元配列b[][]の整合寸法. (ldb >= max(1, n) (trans = 'N'の場合), ldb >= max(1, k) (その他の場合)) |
| [in] | b[][] | 配列 b[lb][ldb] (lb >= k (trans = 'N'の場合), lb >= n (その他の場合))
n×k行列 B (trans = 'N'の場合) または k×n行列 B (その他の場合). |
| [in] | beta | スカラーβ. |
| [in] | ldc | 二次元配列c[][]の整合寸法. (ldc >= max(1, n)) |
| [in,out] | c[][] | 配列 c[lc][ldc] (lc >= n)
[in] n×n対称行列 C. uploに従い上三角部分あるいは下三角部分のみが参照される.
[out] n×n対称出力行列 (= αAB^T + αBA^T + βC または αA^TB + αB^TA + βC). uploに従い上三角部分あるいは下三角部分のみが上書きされる. |
- 出典
- BLAS
|