{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
【参照】