?GBMV_

List

sgbmv_単精度実 数一般バンド行列とベクトルの積
dgbmv_倍精度実 数一般バンド行列とベクトルの積
cgbmv_単精度複素数一般バンド行列とベクトルの積
zgbmv_倍精度複素数一般バンド行列とベクトルの積

概略

バンド形式で格納された一般行列とベクトルの積を計算します。バンド形式で格納を行わなくてはいけない点、ベクトルが列ベクトルとして解釈される点などに注意してください。結果は、渡したベクトルyに格納されます。

計算式

y := alpha * Ax + beta * y

プロトタイプ宣言

void sgbmv_(char *trans, int *m, int *n, int *kl, int *ku,
float *alpha, float *A, int *ldA, float *x, int *incx,
float *beta , float *y, int *incy);

void dgbmv_(char *trans, int *m, int *n, int *kl, int *ku,
double *alpha, double *A, int *ldA, double *x, int *incx,
double *beta , double *y, int *incy);

void cgbmv_(char *trans, int *m, int *n, int *kl, int *ku,
complex *alpha, complex *A, int *ldA, complex *x, int *incx,
complex *beta , complex *y, int *incy);

void zgbmv_(char *trans, int *m, int *n, int *kl, int *ku,
doublecomplex *alpha, doublecomplex *A, int *ldA, doublecomplex *x, int *incx,
doublecomplex *beta , doublecomplex *y, int *incy);


引数/戻り値

変数名概要
trans char* 行列の転置を指定 ("N"(そのまま),"T"(転置),"C"(共役転置)から選択)
m int* 行列の行数
n int* 行列の列数
kl int* 左下部分にある要素の本数
ku int* 右上部分にある要素の本数
alpha double*スカラーalpha
A double*バンド形式行列Aの先頭ポインタ
ldA int* Aのleading dimension (通常は行数を指定すれば良い)
x double*ベクトルxの先頭ポインタ
incx int* Xのインクリメント幅(通常1を指定すれば良い)
beta double*スカラーbeta
y double*ベクトルYの先頭ポインタ
incy int* Yのインクリメント幅(通常1を指定すれば良い)
戻り値void