SchurDecomposition

SchurDecomposition[m]

リスト{q,t}として与えられる数値的行列 m のシューア(Schur)分解を作成する.ただし q は正規直交行列,t は上三角のブロック行列とする.

SchurDecomposition[{m,a}]

ma についての一般化されたシューア分解を返す.

詳細とオプション

例題

すべて開くすべて閉じる

  (1)

実行列のシューア分解を求める:

数値丸めまでの分解を確認する:

をフォーマットする:

スコープ  (12)

基本的な用法  (5)

機械精度行列のシューア分解を求める:

結果をフォーマットする:

複素行列のシューア分解:

任意精度行列のシューア分解:

複素固有値を持つ実数値行列 について考える:

そのシューア分解を計算する:

分解の項目はすべて実数である:

行列は項目が上三角ではなく最初の劣対角に沿ったブロック上三角行列である:

RealBlockDiagonalFormFalseとすると, 上三角になるが要素は複素数になる:

大きい数値行列のシューア分解は効率的に計算される:

一般化された分解  (3)

行列 m と行列 a のペアの一般化されたシューア分解:

m=q.s.TemplateBox[{p}, ConjugateTranspose]であることを確認する:

a=q.t.TemplateBox[{p}, ConjugateTranspose]であることを確認する:

複素行列ペアの一般化されたシューア分解:

分解を確認する:

任意精度行列のペアの一般化されたシューア分解:

Chopを使って分解を確認する必要はない:

特殊行列  (4)

疎な行列のシューア分解:

SymmetrizedArray型の構造化行越のシューア分解:

IdentityMatrixは自明なシューア分解を持つ:

HilbertMatrixのシューア分解:

オプション  (6)

Pivoting  (1)

m は3×3行列である:

Pivoting->Trueとすると,スケールと置換を表す余分な行列が返される:

m.dd.q.t.ConjugateTranspose[q]に等しいことを証明する:

RealBlockDiagonalForm  (1)

m は2つの実数と2つの複素数の固有値を持つ行列である:

RealBlockDiagonalForm->Falseでは,結果は複素上三角行列である:

RealBlockDiagonalForm->Trueとすると,対角に沿って実数の2×2ブロックとなる:

TargetStructure  (4)

実行列:

TargetStructure->"Dense"のとき,SchurDecompositionの結果は2つの密な行列のリストである:

TargetStructure->"Structured"のとき,SchurDecompositionの結果はOrthogonalMatrixBlockUpperTriangularMatrixを含むリストである:

複素行列:

TargetStructure->"Dense"のとき,SchurDecompositionの結果は2つの密な行列のリストである:

TargetStructure->"Structured"のとき,SchurDecompositionの結果はUnitaryMatrixUpperTriangularMatrixを含むリストである:

実行列のペア:

TargetStructure->"Dense"のとき,SchurDecompositionの結果は4つの密な行列のリストである:

TargetStructure->"Structured"のとき,SchurDecompositionの結果は2つのOrthogonalMatrixオブジェクトとBlockUpperTriangularMatrixUpperTriangularMatrixを含むリストである:

2つの複素行列:

TargetStructure->"Dense"のとき,SchurDecompositionの結果は4つの密な行列である:

TargetStructure->"Structured"のとき,SchurDecompositionの結果は2つのUnitaryMatrixオブジェクトと2つのUpperTriangularMatrixオブジェクトを含むリストである:

アプリケーション  (3)

行列 m は,NormalMatrixQ[m]が真のときかつそのときに限って対角行列とユニタリ同値である.シューア分解は一般的な行列に次善の簡約(三角行列のユニタリ同値)を与える.非正規行列について考える:

シューア分解は三角行列に等しいものを返す:

固有値は実数なので t の対角線上に現れる:

シューア分解は右下隅に拡張される 行列の固有ベクトルのネストした列を求める過程であると見ることができる.次の行列 について考える:

この行列の固有値は実数なので,分解すると実数行列と上三角行列になる:

の最初の固有ベクトルから始めての正規直交基底を構築する:

は固有ベクトル と正規直交しているので, をこの基底に変形すると第1列の対角の下が0になる:

右下の2×2行列を抽出する.その固有値は の残りの固有値である:

の最初の固有ベクトルを含むTemplateBox[{}, Reals]^2の正規直交基底を求め,それをTemplateBox[{}, Reals]^3に埋め込む:

q=TemplateBox[{{(, {{u, _, 2}, ., u}, )}}, Transpose]として TemplateBox[{q}, Transpose].m.q について考える:

結果をSchurDecompositionと比較すると, の列の符号まで一致する:

シューア分解を計算する簡単な方法はシフトされていないQRアルゴリズムである.から始め,各段階で のQR分解を計算する.次に,t_(k+1)=r.TemplateBox[{q}, Transpose]かつ q_(k+1)=q.TemplateBox[{q}, Transpose]とする.極限では(正常に動作する入力行列については) は希望する 行列に は希望する 行列に収束する.このメソッドを次の行列 に適用する:

QRアルゴリズムを100回反復して分解を計算する:

構造上,結果の 行列は直交行列である:

そうは見えないかもしれないが, は上三角行列であり,対角の下の成分は数値ノイズである:

SchurDecompositionを使って分解を計算する:

2つの 行列は全体的な符号まで一致するように見える:

成分の数値ノイズは異なる:

行列 よりも明らかに上三角行列であるように見える:

しかし, の差は数値ノイズである:

特性と関係  (11)

SchurDecomposition[m]m=q.t.TemplateBox[{q}, ConjugateTranspose]となるような行列 を与える:

{q,t}=SchurDecomposition[m]q は常にユニタリ行列である:

m が実数値なら q は直交行列である:

{q,t}=SchurDecomposition[m]t は最初劣対角についての上三角行列である:

t は厳密に上三角である必要はない:

行列 m に複素数の項があるなら,t 行列は常に厳密に上三角である:

t の対角項は m の固有値である.though not necessarily in any particular order::

実数値行列 m の場合,実固有値は t の対角線上にあり,複素数は2×2ブロックとして現れる:

実数値行列 の場合,複素固有値は 行列内にの形の2×2ブロックを生成する:

対応する複素固有値はブロックの項目から として回復することができる:

エルミート行列については 行列は常に対角行列である:

ma は乱数の3×3行列である:

ma についての一般化されたシューア分解を求める:

mq.s.ConjugateTranspose[p]によって与えられることを証明する:

aq.t.ConjugateTranspose[p]によって与えられることを証明する:

{q,s,p,t}=SchurDecomposition[{m,a},RealBlockDiagonalFormFalse]では,st の対角の割合は a についての m の一般化された固有値に等しい:

実対称行列 m について,シューア分解は固有値と固有ベクトルから構成される:

tm の固有値を対角に沿って持つ対角行列である:

q の列は m の固有値である:

数値正規行列 n についてSchurDecomposition[n,RealBlockDiagonalFormFalse]

これは位相までジョルダン分解と一致する:

行列 tj は等しい:

q が固有ベクトルを列として持つことを確認するために,各列の第1項目を1.に設定して qs の位相差を除去する:

考えられる問題  (1)

SchurDecompositionは近似値の行列にしか使えない:

厳密行列については,まず項目を数値化する:

JordanDecompositionを使うこともできる:

Wolfram Research (1991), SchurDecomposition, Wolfram言語関数, https://reference.wolfram.com/language/ref/SchurDecomposition.html (2024年に更新).

テキスト

Wolfram Research (1991), SchurDecomposition, Wolfram言語関数, https://reference.wolfram.com/language/ref/SchurDecomposition.html (2024年に更新).

CMS

Wolfram Language. 1991. "SchurDecomposition." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/SchurDecomposition.html.

APA

Wolfram Language. (1991). SchurDecomposition. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SchurDecomposition.html

BibTeX

@misc{reference.wolfram_2024_schurdecomposition, author="Wolfram Research", title="{SchurDecomposition}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/SchurDecomposition.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_schurdecomposition, organization={Wolfram Research}, title={SchurDecomposition}, year={2024}, url={https://reference.wolfram.com/language/ref/SchurDecomposition.html}, note=[Accessed: 22-November-2024 ]}