Main Content

rsf2csf

実 Schur 型から複素 Schur 型への変換

説明

[Unew,Tnew] = rsf2csf(U,T) は、実数行列 X[U,T] = schur(X) の出力を実 Schur 型から複素 Schur 型に変換します。この操作により X の固有値が T で表されるように変換され、X = Unew*Tnew*Unew' および Unew'*Unew = eye(size(X)) などの U が変換されます。

  • "実 Schur 型" では、T は対角要素に実固有値をもち、複素固有値は主対角に沿った 2 行 2 列の実数ブロックとして表されます。

    [λ1t12t13t14t15aet24t25fat34t35cghc]

    これらのブロックによって表される固有値は a±ife および c±ihg です。

  • "複素 Schur 型" では、Tnew は固有値、実数または複素数すべてが主対角にある上三角行列です。

    [λ1tnew12tnew13tnew14tnew15a+bitnew23tnew24tnew25abitnew34tnew35c+ditnew45cdi]

すべて折りたたむ

Schur 分解を実数行列に適用し、固有値が主対角上に直接あるように行列因子を変換します。

実数行列を作成し、Schur 分解を計算します。UTU=IN および T 要素は、2 行 2 列の対角ブロックとして表される固有値の複素共役対をもつ実 Schur 型であるため、U 要素はユニタリです。

X = [1     1     1     3
     1     2     1     1
     1     1     3     1
    -2     1     1     4];
[U,T] = schur(X)
U = 4×4

   -0.4916   -0.4900   -0.6331   -0.3428
   -0.4980    0.2403   -0.2325    0.8001
   -0.6751    0.4288    0.4230   -0.4260
   -0.2337   -0.7200    0.6052    0.2466

T = 4×4

    4.8121    1.1972   -2.2273   -1.0067
         0    1.9202   -3.0485   -1.8381
         0    0.7129    1.9202    0.2566
         0         0         0    1.3474

T は、対角要素に実数固有値を 2 つと、固有値の複素共役対を表す 2 行 2 列のブロックを 1 つもちます。

Tnew が対角要素に固有値をもつ上三角行列となり、UnewX = Unew*Tnew*Unew' を満たすように、UT を変換します。

[Unew,Tnew] = rsf2csf(U,T)
Unew = 4×4 complex

  -0.4916 + 0.0000i  -0.2756 - 0.4411i   0.2133 + 0.5699i  -0.3428 + 0.0000i
  -0.4980 + 0.0000i  -0.1012 + 0.2163i  -0.1046 + 0.2093i   0.8001 + 0.0000i
  -0.6751 + 0.0000i   0.1842 + 0.3860i  -0.1867 - 0.3808i  -0.4260 + 0.0000i
  -0.2337 + 0.0000i   0.2635 - 0.6481i   0.3134 - 0.5448i   0.2466 + 0.0000i

Tnew = 4×4 complex

   4.8121 + 0.0000i  -0.9697 + 1.0778i  -0.5212 + 2.0051i  -1.0067 + 0.0000i
   0.0000 + 0.0000i   1.9202 + 1.4742i   2.3355 - 0.0000i   0.1117 + 1.6547i
   0.0000 + 0.0000i   0.0000 + 0.0000i   1.9202 - 1.4742i   0.8002 + 0.2310i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   1.3474 + 0.0000i

入力引数

すべて折りたたむ

ユニタリ行列。[U,T] = schur(X) により返される行列として指定します。行列 UU'*U = eye(size(X)) を満たします。

データ型: single | double
複素数のサポート: あり

Schur 型。[U,T] = schur(X) により返される行列として指定します。行列 TX = U*T*U' を満たします。Schur 型は、対角要素に実固有値をもち、複素固有値は主対角に沿った 2 行 2 列の実数ブロックとして表されます。

データ型: single | double
複素数のサポート: あり

出力引数

すべて折りたたむ

変換されたユニタリ行列。行列として返されます。行列 UnewUnew'*Unew = eye(size(X)) を満たします。

変換された Schur 型。行列として返されます。Tnew は、対角上に X の固有値をもつ上三角行列であり、これは X = Unew*Tnew*Unew' を満たします。

ヒント

  • ordeig を使用して、Schur 分解の結果から固定値を rsf2csf と同じ順序で取得できます。ただし、rsf2csf は、Schur 行列 T および Schur ベクトル行列 U の剰余を複素数表現に変換したものも返します。

拡張機能

バージョン履歴

R2006a より前に導入

参考

| |