?HER2K_
List
| cher2k_ | 単精度複素数エルミート行列の階数2kの更新 |
| zher2k_ | 倍精度複素数エルミート行列の階数2kの更新 |
概略
計算式で挙げた計算を行います。結果を別途渡した行列にスカラ倍したものを加算します(詳しくは計算式参照)ここでtransの指定をCにすると、計算する方向が異なります。計算式
C := alpha * A conjg(B) + conjg(alpha) B conjg(A) + beta * C特に、trans="C"とすると
C := alpha * conjg(B) A + conjg(alpha) conjg(A) B + beta * C
プロトタイプ宣言
void cher2k_(char *uplo, char *trans, int *n, int *k, complex *alpha, complex *A, int *ldA,complex *B, int *ldB,float *beta, complex *C, int *ldC);
void zher2k_(char *uplo, char *trans, int *n, int *k, doublecomplex *alpha, doublecomplex *A, int *ldA,
doublecomplex *B, int *ldB,double *beta, doublecomplex *C, int *ldC);
引数/戻り値
| 変数名 | 型 | 概要 |
| uplo | char* | 行列Aのどの部分を使うか指定 ("L"(下三角),"U"(上三角)から選択) |
| trans | char* | 行列A,Bの転置を指定 ("N"(そのまま),"C"(共役転置)から選択) |
| n | int* | 行列Cの行数・列数 行列Aの行数 |
| k | int* | 行列Aの列数 |
| alpha | doublecomplex* | スカラーalpha |
| A | doublecomplex* | 行列Aの先頭ポインタ |
| ldA | int* | Aのleading dimension (通常は行数を指定すれば良い) |
| B | doublecomplex* | 行列Bの先頭ポインタ |
| ldB | int* | Bのleading dimension (通常は行数を指定すれば良い) |
| beta | double* | スカラーbeta |
| C | doublecomplex* | 行列Cの先頭ポインタ |
| ldC | int* | Cのleading dimension (通常は行数を指定すれば良い) |
| 戻り値 | void |