?HER_

List

cher_単精度複素数エルミート行列の階数1の更新(共役転置)
zher_倍精度複素数エルミート行列の階数1の更新(共役転置)

概略

列ベクトルと行ベクトルの積を計算します。結果が行列になって返ってくる点に注意してください。

計算式

A := alpha * x conjg(x) + A

Aは行列、xはベクトルです。xがn次元のとき、Aはn行n列の行列になります。GEMMなどと違い、Aにスカラ倍がないため、予め0クリアするなど処理を行なっておく必要がある点に注意してください。

プロトタイプ宣言

void cher_(char *uplo, int *n, float *alpha, complex *x, int *incx, complex *A, int *ldA);
void zher_(char *uplo, int *n, double *alpha, doublecomplex *x, int *incx, doublecomplex *A, int *ldA);

引数/戻り値

変数名概要
uplo char* 行列のどちら側を使うか指定("U"(上三角),"L"(下三角)から選択)
n int* 行列の列数
alpha double*スカラーalpha
x doublecomplex*ベクトルxの先頭ポインタ
incx int* Xのインクリメント幅(通常1を指定すれば良い)
A doublecomplex*行列Aの先頭ポインタ
ldA int* Aのleading dimension (通常は行数を指定すれば良い)
戻り値void