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 列の実数ブロックとして表されます。これらのブロックによって表される固有値は および です。
"複素 Schur 型" では、
Tnew
は固有値、実数または複素数すべてが主対角にある上三角行列です。
例
実 Schur 型から複素 Schur 型への変換
Schur 分解を実数行列に適用し、固有値が主対角上に直接あるように行列因子を変換します。
実数行列を作成し、Schur 分解を計算します。 および 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
が対角要素に固有値をもつ上三角行列となり、Unew
が X = Unew*Tnew*Unew'
を満たすように、U
と T
を変換します。
[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
— ユニタリ行列
行列
ユニタリ行列。[U,T] = schur(X)
により返される行列として指定します。行列 U
は U'*U = eye(size(X))
を満たします。
データ型: single
| double
複素数のサポート: あり
T
— Schur 型
行列
Schur 型。[U,T] = schur(X)
により返される行列として指定します。行列 T
は X = U*T*U'
を満たします。Schur 型は、対角要素に実固有値をもち、複素固有値は主対角に沿った 2 行 2 列の実数ブロックとして表されます。
データ型: single
| double
複素数のサポート: あり
出力引数
Unew
— 変換されたユニタリ行列
行列
変換されたユニタリ行列。行列として返されます。行列 Unew
は Unew'*Unew = eye(size(X))
を満たします。
Tnew
— 変換された Schur 型
行列
変換された Schur 型。行列として返されます。Tnew
は、対角上に X
の固有値をもつ上三角行列であり、これは X = Unew*Tnew*Unew'
を満たします。
ヒント
ordeig
を使用して、Schur 分解の結果から固定値をrsf2csf
と同じ順序で取得できます。ただし、rsf2csf
は、Schur 行列T
および Schur ベクトル行列U
の剰余を複素数表現に変換したものも返します。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
コード生成では、この関数のスパース行列入力はサポートされません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)