行ベクトルのノルム演算を関数として以下のように実装する。
/* 行ベクトルのノルム */
void WH_Matrix__whNorm_whRv_OUT_s
(int nColumns_a, double whRv_a[],
double *OUT__b)
/*
入力引数:
nColumns_a は行ベクトル whRv_a の列数
whRv_a は行ベクトル
出力引数:
OUT__bはスカラーで、whRv_a のノルム
*/
{
int i;
*OUT__b = 0.0;
for (i = 0; i < nColumns_a; i++) {
*OUT__b += whRv_a[i] * whRv_a[i];
}
*OUT__b = sqrt (*OUT__b);
}
列ベクトルのノルム演算を関数として以下のように実装する。
/* 列ベクトルのノルム */
void WH_Matrix__whNorm_whCv_OUT_s
(int nRows_a, double whCv_a[],
double *OUT__b)
/*
入力引数:
nRows_a は列ベクトル whCv_a の列数
whCv_a は列ベクトル
出力引数:
OUT__bはスカラーで、whCv_a のノルム
*/
{
int i;
*OUT__b = 0.0;
for (i = 0; i < nRows_a; i++) {
*OUT__b += whCv_a[i] * whCv_a[i];
}
*OUT__b = sqrt (*OUT__b);
}