?TRMV_

List

cgeru_単精度実 数三角行列とベクトルの積
zgeru_倍精度実 数三角行列とベクトルの積
cgeru_単精度複素数三角行列とベクトルの積
zgeru_倍精度複素数三角行列とベクトルの積

概略

三角行列とベクトルの積を計算します。

計算式

x := A * x

Aは行列、xはベクトルです。与えたベクトルxの内容が破壊され結果が上書きされる点に注意してください。Aには転置、共役転置(複素数版のみ)を指定することができます。
余談ですが、TRSVと引数の型が全く同じになっているので、間違えて書くと嵌ることがあります。ご注意を。

プロトタイプ宣言

void strmv_(char *uplo, char *trans, char *diag, int *n, float *A, int *ldA, float *x, int *incx);
void dtrmv_(char *uplo, char *trans, char *diag, int *n, double *A, int *ldA, double *x, int *incx);
void ctrmv_(char *uplo, char *trans, char *diag, int *n, complex *A, int *ldA, complex *x, int *incx);
void ztrmv_(char *uplo, char *trans, char *diag, int *n, doublecomplex *A, int *ldA, doublecomplex *x, int *incx);

引数/戻り値

変数名概要
uplo char* 行列のどちら側を使うか指定("U"(上三角),"L"(下三角)から選択)
trans char* 行列の転置を指定 ("N"(そのまま),"T"(転置),"C"(共役転置)から選択)
diag char* 単位三角行列か指定 ("U"(単位三角行列),"N"(そうでない)から選択)
n int* 行列の行数・列数
A double*行列Aの先頭ポインタ
ldA int* Aのleading dimension (通常は行数を指定すれば良い)
x double*ベクトルxの先頭ポインタ
incx int* Xのインクリメント幅(通常1を指定すれば良い)
戻り値void