?HPR_

List

chpr_単精度複素数エルミート行列(パックド形式)の階数1の更新(共役転置)
zhpr_倍精度複素数エルミート行列(パックド形式)の階数1の更新(共役転置)

概略

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

計算式

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

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

プロトタイプ宣言

void chpr_ (char *uplo, int *n, float *alpha, complex *x, int *incx, complex *A);
void zhpr_ (char *uplo, int *n, double *alpha, doublecomplex *x, int *incx, doublecomplex *A);

引数/戻り値

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