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

◆ dgecovs()

void dgecovs ( int  job,
int  n,
int  lda,
double  a[],
double  s[],
double  ci[],
double  work[],
int *  info 
)

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

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

次のm×n行列Aの最小二乗問題はdgelssにより解くことができる.
||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] dgelssで求めた右特異ベクトル.
[out] Job = -1: a[][]の下三角部分(対角要素を含む)はCにより上書きされる. 上三角部分は壊される.
[in]s[]配列 s[ls] (ls >= n)
dgelssで求めた特異値.
[out]ci[]配列 ci[lci] (lci >= n)
job = -1: 参照されない.
job = 0: C の対角要素を返す.
job = i > 0: Cの第i列を返す.
[out]work[]配列 work[lwork] (lwork >= n)
作業領域.
[out]info= 0: 正常終了
= -1: 入力パラメータ job の誤り (job < -1 または job > n))
= -2: 入力パラメータ n の誤り (n < 0)
= -3: 入力パラメータ lda の誤り (lda < max(1, n))