next up previous contents
Next: rand Up: リファレンスマニュアル Previous: quit

  
qz

【目的】
qz - QZ分解
【形式】
{AA,BB,Q,Z,V} = qz(A,B)
   Matrix AA,BB,Q,Z,V;
   Matrix A,B;
【詳細】
qz() は,一般化固有値の計算で使われる。正方行列 A と B に対して, {AA,BB,Q,Z,V} = qz(A,B) は,上三角行列 AA と BB,左変換のための 行列 Q,右変換のための行列 Z,一般化固有ベクトルからなる行列 V を求める。これらの行列の間には,
    A = Q * AA * Z
    B = Q * BB * Z
    A * V * diag_vec(BB) = B * V * diag_vec(AA)
    Q# * Q = I
    Z# * Z = I
の関係がある。
【算法】
Eispackの qzhes, qzit, qzval, qzvec を使用する。
【例題】
>> A = [[1 2][6 5]];  B = [[3 4][2 1]];
>> {AA, BB, Q, zz, X} = qz(A, B);
>> Q# * A * zz - AA
=== [ans] : (  2,  2) ===
          (  1)           (  2)
(  1) -6.66133815E-16  0.00000000E+00
(  2) -1.72388145E-16  0.00000000E+00
>> Q# * B * zz - BB
=== [ans] : (  2,  2) ===
           (  1)           (  2)
(  1) -1.22124533E-15  1.33226763E-15
(  2) -2.64545330E-17  8.88178420E-16
>> A * V * diag_vec(BB) - B * V * diag_vec(AA)
=== [ans] : (  2,  1) ===
       [ (  1)-Real      (  1)-Imag ]
(  1) -2.66453526E-15  0.00000000E+00
(  2)  4.44089210E-15  0.00000000E+00
【参照】
hess(2.91), qz(2.171)


Masanobu KOGA 平成11年10月2日