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

◆ 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