XLPack 7.0
XLPack 数値計算ライブラリ (C API) リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ dgecov()

void dgecov ( int  job,
int  n,
int  lda,
double  a[],
double  ci[],
int *  info 
)

線形最小二乗問題の分散・共分散行列 (dgels用)

目的
dgecovはdgelsで解いた線形最小二乗問題の(unscaled)共分散行列を求める.

次のm×n行列Aの最小二乗問題は rank(A) = n であればdgelsにより解くことができる.
||A*x - b|| を最小化
n×n正定値対称行列 C は求められたパラメータの(unscaled)共分散行列であり, 次のように定義される.
C = (A^T*A)^(-1), rank(A) = n
スカラーを乗じた (σ^2)*C は統計的に最小二乗問題の解ベクトルの分散・共分散行列の推定値と解釈できる. スカラー σ^2 は次のように表される.
σ^2 = ||A*x - b||^2 / (m - n)
ここで, x は最小二乗解とする. (σ^2)*C の対角要素はxの各要素の分散である.
引数
[in]job= -1: C の上三角部分を求める.
= 0: C の対角要素を求める.
= i > 0: C の第i列を求める. (i <= n)
[in]n行列 A の次数 = Aのランク数 (ランク落ちしていてはならない). (n >= 0) (n = 0 の場合, 処理を行わずに戻る)
[in]lda二次元配列a[][]の整合寸法. (lda >= max(1, n))
[in,out]a[][]配列 a[la][lda] (la >= n)
[in] dgelsによりQR分解した係数行列.
[out] job = -1: a[][]はCの上三角部分により上書きされる.
  job = 0: a[][]の上三角部分は壊される.
[out]ci[]配列 ci[lci] (lci >= n)
job = -1: 参照されない.
job = 0: C の対角要素を返す.
job = i > 0: Cの第i列を返す.
[out]info= 0: 正常終了
= -1: 入力パラメータ job の誤り (job < -1 または job > n))
= -2: 入力パラメータ n の誤り (n < 0)
= -3: 入力パラメータ lda の誤り (lda < max(1, n))
= i > 0: その他のエラー