?NRM2_

List

snrm2_ 単精度実 数ベクトルのノルム
dnrm2_ 倍精度実 数ベクトルのノルム
scnrm2_単精度複素数ベクトルのノルム
dznrm2_倍精度複素数ベクトルのノルム

概略

ベクトルのユークリッドノルム、つまり普通のノルムを計算します。結果は戻り値として返ってきます。複素数のベクトルを与えた場合でも、実数が返ってくることに注意してください。例えば、doublecomplexのベクトルを与えた場合は、doubleで受け取る、などです。
行列をベクトルとして渡した場合、フロベニウスノルムが計算できます。

計算式

ret := ||X||

プロトタイプ宣言

float snrm2_(int *n, float *x, int *incx);
double dnrm2_(int *n, double *x, int *incx);
float scnrm2_(int *n, complex *x, int *incx);
double dznrm2_(int *n, doublecomplex *x, int *incx);

引数/戻り値

変数名概要
n int* ベクトルXの大きさ(長さ)
X double*ベクトルXの先頭ポインタ
incX int* Xのインクリメント幅(通常1を指定すれば良い)
戻り値double*Xのユークリッドノルムの値