mucomp
mu (構造化特異値) 計算
呼出し手順
[BOUND, D, G] = mucomp(Z, K, T)
パラメータ
- Z
構造化特異値を計算するn行n列の複素行列
- K
誤差に関するブロック構造を含む長さmのベクトル.
- T
各ブロックの型を指す長さmのベクトル. 対応するブロックが実数の場合は T(I) = 1, 対応するブロックが複素数の場合は T(I) = 2.
- BOUND
構造化特異値の上界.
- D, G
それぞれ対角行列DおよびGの対角要素を含む長さnのベクトル. この際,行列
Z'*D^2*Z + sqrt(-1)*(G*Z-Z'*G) - bound^2*D^2
は負の半正定行列となります.
説明
正方複素行列および 誤差のブロック構造を指定して,構造化特異値の上界を計算します.
Examples
K=[1,1,2,1,1]; T=[1,1,2,2,2]; Z=[-1+%i*6, 2-%i*3, 3+%i*8, 3+%i*8,-5-%i*9,-6+%i*2; 4+%i*2,-2+%i*5,-6-%i*7,-4+%i*11,8-%i*7, 12-%i; 5-%i*4,-4-%i*8, 1-%i*3,-6+%i*14,2-%i*5, 4+%i*16; -1+%i*6, 2-%i*3, 3+%i*8, 3+%i*8,-5-%i*9,-6+%i*2; 4+%i*2,-2+%i*5,-6-%i*7,-4+%i*11,8-%i*7, 12-%i; 5-%i*4,-4-%i*8, 1-%i*3,-6+%i*14,2-%i*5, 4+%i*16]; [BOUND, D, G] = mucomp(Z, K, T) spec(Z'*(diag(D)^2)*Z + %i*(diag(G)*Z-Z'*diag(G)) - BOUND^2*diag(D)^2)
M1 = [ .. 5.2829 5.7683 -2.4004 1.2205 -6.4148 9.7769e-01 2.9786 -3.0408 5.0257e-01 -2.6504 7.0819 9.6324 -3.5750 3.3016 -6.7030 -1.6261 -2.9763 1.6870 -1.0603 1.2211 2.3056 4.3712 -2.4785 2.6152 -1.9832 ]; M2 = [ .. -1.1308 -1.7785 8.7974e-01 -7.5206e-01 1.2089 -3.5255e-01 -5.7002e-01 2.9305e-01 -2.5442e-01 3.7691e-01 -1.3724 -2.1501 1.0741 -9.1188e-01 1.4669 3.5839e-01 5.5101e-01 -2.7290e-01 2.3565e-01 -3.7663e-01 -4.9015e-01 -7.8706e-01 4.0215e-01 -3.3617e-01 5.3261e-01]; //******************************************************* M = M1 + %i * M2; // Let the structure be all scalar blocks K = [1 1 1 1 1]'; // Let the first, the third and the fifth blocks be real, // and let the rest of blocks be complex T = [1 2 1 2 1]'; [bound, D, G] = mucomp(M, K, T); spec(M' * diag(D) * M + %i * (diag(G) * M - M' * diag(G)) - bound^2 * diag(D)^2) // Now, we compute it again with respect to all complex blocks T = [2 2 2 2 2]'; [bound, D, G] = mucomp(M, K, T); spec(M' * diag(D) * M + %i * (diag(G) * M - M' * diag(G)) - bound^2 * diag(D)^2) K = [2 3]'; T = [2 2]'; [bound, D, G] = mucomp(M, K, T);
参考文献
Slicot ルーチン AB13MD.
Report an issue | ||
<< linmeq | Matrix Computation | ricc >> |