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

◆ WZgglse2()

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

線形等式制約最小二乗(LSE)問題 (複素行列) (実数部/虚数部分離形式)

目的
WZgglse2は線形等式制約最小二乗(LSE)問題を解く.
B*x = d の制約条件のもとで || c - Ax ||_2 を最小化する.
ここで, AはM×N行列, BはP×N行列, cは与えられたMベクトル, dは与えられたPベクトルである. ただし, P <= N <= M + P とする. また, 次式が成り立つものとする.
rank(B) = P かつ rank( (A) ) = N
( (B) )
これらの条件により, LSE問題が一意の解を持つことが保証される. 解は, 次式で与えられる行列対(B, A)の一般化RQ分解を用いて得られる.
B = (0 R)*Q, A = Z*T*Q

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

リターンコード
= 0: 正常終了
= 1: 最小二乗解を求めることができなかった. (B, A)対の一般化RQ分解のBに関連する上三角行列Rが特異で rank(B) < P である.
= 2: 最小二乗解を求めることができなかった. (B, A)対の一般化RQ分解のAに関する上台形行列TのN-P×N-P部分が特異で rank((A^T B^T)^T) < Nである.
引数
[in]M行列 A の行数. (M >= 1)
[in]N行列 A および B の列数. (N >= 1)
[in]P行列 B の行数. (1 <= P <= N <= M + P)
[in]A(M×2N) 最小二乗方程式の係数行列 A.
[in]B(P×2N) 制約方程式の係数行列 B.
[in]C(M×2) 最小二乗方程式の右辺ベクトル c.
[in]D(P×2) 制約方程式の右辺ベクトル d.
出典
LAPACK
使用例
線形等式制約最小二乗(LSE)問題を解く. すなわち, B*x = d の制約条件のもとで || c - Ax ||_2 を最小化する. ただし,
( -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 )
( 0.57-0.91i -0.28-0.45i 0.25+0.91i )
B = ( 0.83+0.46i 0.63-0.19i -0.69+0.09i )
( 0.24-1.33i -0.56-0.67i 0.90+1.25i )
( 1.7126-0.6648i )
c = ( 0.8697+0.7604i )
( -2.1048-1.6171i )
( -0.9297+0.1252i )
( -1.5111+0.3107i )
d = ( -0.0941-1.2737i )
( -1.5579+1.0462i )
とする.

WZgglse2