next up previous contents
: ベクトルのノルム : 列ベクトルと行ベクトルの積 : 列ベクトルと行ベクトルの積   目次

実装

列ベクトルと行ベクトルの積演算を関数として以下のように実装する。

/* 列ベクトルと行ベクトルの積 */
void WH_Matrix__whRv_mul_whCv_OUT_whM
(int nRows_a, double whCv_a[],
 int nColumns_b, double whRv_b[],
 int nRows_C, int nColumns_C, void *OUT__whM_C)
/*
  入力引数:
    nRows_a は列ベクトル whCv_a の行数
    whCv_a は列ベクトル
    nColumns_b は行ベクトル whRv_b の列数
    whRv_b は行ベクトル
    nRows_C は行列 whM_C の行数
    nColumns_C は行列 whM_C の列数
  出力引数:
    OUT__whM_Cは行列で、whCv_a と whRv_b の積
*/
{
  int i, j;

  assert(nRows_C == nRows_a);
  assert(nColumns_C == nColumns_b);

  for (i = 0; i < nRows_C; i++) {
    for (j = 0; j < nColumns_C; j++) {
      WH_MATRIX__AT(OUT__whM_C, nRows_C, nColumns_C, i, j) 
        = whCv_a[i] * whRv_b[j];
    }
  }
}



Hiroshi KAWAI 平成15年8月11日