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

◆ WZggglm2()

Function WZggglm2 ( N As  Long,
M As  Long,
P As  Long,
A As  Variant,
B As  Variant,
D As  Variant 
)

一般Gauss-Markov線形モデル(GLM)問題 (複素行列) (実数部/虚数部分離形式)

目的
WZggglm2は一般Gauss-Markov線形モデル(GLM)問題を解く.
d = A*x + B*y の制約条件のもとで || y ||_2 を最小化するxを求める.
ここで, AはN×M行列, BはN×P行列, dは与えられたNベクトルである. ただし, M <= N <= M + P とする. また, 次式が成り立つものとする.
rank(A) = M かつ rank(A B) = N
これらの条件により, 制約付き方程式は常に正しく, 一意の解xおよび最小2ノルム解yを持つ. 解は, 次式で与えられる行列対(A, B)の一般化QR分解を用いて得られる.
A = Q*(R), B = Q*T*Z
(0)
特に行列Bが正方で非特異ならば, GLM問題は次の重み付き線形最小二乗問題に等しい.
|| inv(B)*(d - A*x) ||_2 を最小化するxを求める.

複素数を表現するために実数部と虚数部を隣り合ったセルに格納する(左が実数部, 右が虚数部). 得られた解も実数部と虚数部が隣り合った別々のセルに出力される.
戻り値
max(M,P)+1 x 4
列1列2列3列4
行1〜max(M,P)最小二乗解ベクトル x (実数部) (行1〜M)最小二乗解ベクトル x (虚数部) (行1〜M)残差ベクトル y (実数部) (行1〜P)残差ベクトル y (虚数部) (行1〜P)
行max(M,P)+1残差二乗和の平方根(||y||2)リターンコード00

リターンコード
= 0: 正常終了
= 1: 最小二乗解を求めることができなかった. (A, B)対の一般化QR分解のAに関連する上三角行列Rが特異で rank(A) < M である.
= 2: 最小二乗解を求めることができなかった. (A, B)対の一般化QR分解のBに関する上台形行列TのN-M×N-M部分が特異で rank(A B) < Nである.
引数
[in]N行列 A および B の行数. (N >= 1)
[in]M行列 A の列数. (1 <= M <= N)
[in]P行列 B の列数. (P >= N - M)
[in]A(N×2M) GLM方程式の係数行列 A.
[in]B(N×2P) GLM方程式の係数行列 B.
[in]D(N×2) GLM方程式の左辺ベクトル d.
出典
LAPACK
使用例
一般ガウス・マルコフ線形モデル(GLM)問題を解く. すなわち, d = A*x + B*y の制約条件のもとで || y ||_2 を最小化するxを求める. ただし,
( -0.82+0.83i 0.18-0.94i -0.18-0.12i )
A = ( -0.76-0.24i 0.57-0.16i -0.08-0.27i )
( 1.90+0.26i -0.98+0.54i 0.21+0.28i )
( 0.50-0.30i -0.31+0.37i 0.22+0.19i )
( 1 0 0 0 )
B = ( 0 1 0 0 )
( 0 0 1 0 )
( 0 0 0 1 )
( 1.7126-0.6648i )
d = ( 0.8697+0.7604i )
( -2.1048-1.6171i )
( -0.9297+0.1252i )
とする.

WZggglm2