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

  
hess

【目的】
hess - ヘッセンベルグ型行列
【形式】
{Q,H} = hess(A)
   Matrix Q,H;
   Matrix A;
【詳細】
hess()は,行列 A のヘッセンベルグ型を求める。ヘッセンベルグ行列の 成分は,第 1 副対角成分より下が全てゼロになる。 {Q,H} = hess(A)は,ヘッセンベルグ行列 H と直交行列(ユニタリ行列) H を求める。これらの行列の間には,A = Q * H * Q#,Q# * Q = I(A) の 関係がある。
【算法】
hess(A) は,実行列に対してEispackのルーチンのortranとorthesを 使う。orthes は直交相似変換を使って実行列をヘッセンベルグ型に変換 する。hess(A)は,複素行列に対してEispackのqzhesを使う。
【例題】
>> {Q,H} = hess([[1 2 3][4 5 6][7 8 9]]);
>> print Q,H;
=== [Q] : (  3,  3) ===
           (  1)           (  2)           (  3)     
(  1)  1.00000000E+00  0.00000000E+00  0.00000000E+00
(  2)  0.00000000E+00 -4.96138938E-01 -8.68243142E-01
(  3)  0.00000000E+00 -8.68243142E-01  4.96138938E-01
=== [H] : (  3,  3) ===
           (  1)           (  2)           (  3)     
(  1)  1.00000000E+00 -3.59700730E+00 -2.48069469E-01
(  2) -8.06225775E+00  1.40461538E+01  2.83076923E+00
(  3)  0.00000000E+00  8.30769231E-01 -4.61538462E-02
【参照】
shcur([*]), qr(2.168), qz(2.171)


Masanobu KOGA 平成11年10月2日