?SYMM_

List

ssymm_単精度実 数対称行列と一般行列の積
dsymm_倍精度実 数対称行列と一般行列の積
csymm_単精度複素数対称行列と一般行列の積
zsymm_倍精度複素数対称行列と一般行列の積

概略

対称行列と一般行列の積を計算します。結果を別途渡した行列にスカラ倍したものを加算します(詳しくは計算式参照)

計算式

C := alpha * AB + beta * C
または
C := alpha * BA + beta * C

プロトタイプ宣言

void ssymm_(char *side, char *uplo, int *m, int *n,
float *alpha, float *A, int *ldA, float *B, int *ldB,
float *beta , float *C, int *ldC);

void dsymm_(char *side, char *uplo, int *m, int *n,
double *alpha, double *A, int *ldA, double *B, int *ldB,
double *beta , double *C, int *ldC);

void csymm_(char *side, char *uplo, int *m, int *n,
complex *alpha, complex *A, int *ldA, complex *B, int *ldB,
complex *beta , complex *C, int *ldC);

void zsymm_(char *side, char *uplo, int *m, int *n,
doublecomplex *alpha, doublecomplex *A, int *ldA, doublecomplex *B, int *ldB,
doublecomplex *beta , doublecomplex *C, int *ldC);

引数/戻り値

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