?TRMM_

List

strmm_単精度実 数三角行列と一般行列の積
dtrmm_倍精度実 数三角行列と一般行列の積
ctrmm_単精度複素数三角行列と一般行列の積
ztrmm_倍精度複素数三角行列と一般行列の積

概略

三角行列と一般行列の積を計算します。結果は他の???mmとは異なり、Bに上書きされます。注意してください。

計算式

B := alpha * AB
または B := alpha * BA

プロトタイプ宣言

void strmm_(char *side, char *uplo, char *trans, char *diag, int *m, int *n,
float *alpha, float *A, int *ldA, float *B, int *ldB);

void dtrmm_(char *side, char *uplo, char *trans, char *diag, int *m, int *n,
double *alpha, double *A, int *ldA, double *B, int *ldB);

void ctrmm_(char *side, char *uplo, char *trans, char *diag, int *m, int *n,
complex *alpha, complex *A, int *ldA, complex *B, int *ldB);

void ztrmm_(char *side, char *uplo, char *trans, char *diag, int *m, int *n,
doublecomplex *alpha, doublecomplex *A, int *ldA, doublecomplex *B, int *ldB);

引数/戻り値

変数名概要
side char* 行列Aがどちらに来るか指定 ("L"(左側 AB),"R"(右側 BA)から選択)
uplo char* 行列Aのどの部分を使うか指定 ("L"(下三角),"U"(上三角)から選択)
trans char* 行列Aの転置を指定 ("N"(そのまま),"T"(転置),"C"(共役転置)から選択)
diag char* 単位三角行列か指定 ("U"(単位三角行列),"N"(そうでない)から選択)
m int* 行列Bの行数 行列Aの行数・列数
n int* 行列Bの列数
alpha double*スカラーalpha
A double*行列Aの先頭ポインタ
ldA int* Aのleading dimension (通常は行数を指定すれば良い)
B double*行列Bの先頭ポインタ
ldB int* Bのleading dimension (通常は行数を指定すれば良い)
戻り値void