DiagonalizableMatrixQ

DiagonalizableMatrixQ[m]

m が対角化可能な場合はTrueを,その他の場合はFalseを返す.

詳細とオプション

  • 行列 m は,対角行列と似ていれば,つまり, が対角であるような非特異行列 が存在すれば,対角化可能である.
  • DiagonalizableMatrixQは,記号行列と数値行列の両方に用いることができる.
  • 近似行列については,オプションTolerance->t を使って,Abs[Det[v]]t を満足する行列 m の固有ベクトル v の行列式がゼロであると考えられることを示すことができる.つまり固有ベクトル v が線形独立であり,行列 m は対角化可能ではないということである.
  • オプションToleranceのデフォルト値はAutomaticである.

例題

すべて開くすべて閉じる

  (2)

2×2数値行列が対角化可能かどうかの検定を行う:

3×3記号行列が対角化可能かどうかの検定を行う:

行列の固有ベクトルを列に置く:

この行列が対角行列と相似であることを確かめる:

スコープ  (9)

基本的な用法  (5)

機械精度の実行列が対角化可能かどうかの検定を行う:

結果を確かめる:

入手した行列の対角要素は の固有値である:

複素行列が対角化可能かどうかの検定を行う:

厳密行列が対角化可能かどうかの検定を行う:

行列を対角化可能にする:

DiagonalizableMatrixQを任意精度の行列に使う:

ランダムな正方行列は,通常は,対角化可能である:

DiagonalizableMatrixQを記号行列に使う:

特殊行列  (4)

DiagonalizableMatrixQを疎な配列に使う:

DiagonalizableMatrixQを構造化行列に使う:

QuantityArrayを構造化行列に使う:

恒等行列は対角化可能である:

HilbertMatrixは対角化可能である:

オプション  (1)

Tolerance  (1)

次数のランダムな摂動がある,対角化不可能な実数値ジョルダン(Jordan)ブロック行列を生成する:

qは対角化可能である:

しかし,固有ベクトルvは数値的に線形従属である:

固有ベクトルの線形従属性が検出できるように,オプションToleranceを調整する:

アプリケーション  (6)

行列 が対角化可能な場合,これは と分解することができる.ただし, は非特異であり, は対角である,これを使い,そのベキ級数表現 を使って f(m)=p.(sum_(i=0)^inftya_i d^i).TemplateBox[{p}, Inverse]=p.f(d).TemplateBox[{p}, Inverse]として行列関数を計算することができる. を各対角要素に適用することで計算できる.この方法を使っていくつかの異なる行列関数を計算する:

の固有系を計算する:

行列は列に固有ベクトルを持ち,対角成分は固有値である:

を計算し,MatrixPowerを使って確かめる:

を計算し,MatrixExpを使って確かめる:

を計算し,MatrixLogを使って確かめる:

を計算し,MatrixFunctionを使って確かめる:

常微分方程式系 , , を解く.まず,右辺について係数行列 を構築する:

係数行列は対角化可能なので,行列の指数を計算するのは簡単である:

固有値と固有ベクトルを求める:

成分が の指数関数である対角行列を構築する:

列が対応する固有ベクトルである行列を構築する:

3つの任意の初期値についての一般解は p.d.TemplateBox[{p}, Inverse].{TemplateBox[{1}, CTraditional],TemplateBox[{2}, CTraditional],TemplateBox[{3}, CTraditional]}である:

DSolveValueを使って解を確かめる:

Fibonacciの漸化式 TemplateBox[{n}, Fibonacci]=TemplateBox[{{n, -, 1}}, Fibonacci]+TemplateBox[{{n, -, 2}}, Fibonacci]は行列形式を使うと f(n)=(TemplateBox[{n}, Fibonacci] ; TemplateBox[{{n, -, 1}}, Fibonacci] )=(TemplateBox[{{n, -, 1}}, Fibonacci]+TemplateBox[{{n, -, 2}}, Fibonacci] ; TemplateBox[{{n, -, 1}}, Fibonacci] )=(1 1; 1 0).(TemplateBox[{{n, -, 1}}, Fibonacci] ; TemplateBox[{{n, -, 2}}, Fibonacci] )=m.f(n-1)と書けるという事実を使ってペア f(n)={TemplateBox[{n}, Fibonacci],TemplateBox[{{n, -, 1}}, Fibonacci]}についての式を導き出す.漸化式の解は である.ここで,である:

行列 は対角化可能である:

したがって,行列のベキはEigensystem[m]を使って簡単に計算できる:

の定義を完成させる:

TemplateBox[{100}, Fibonacci]および TemplateBox[{99}, Fibonacci]を計算する:

Fibonacciを使って結果を確かめる:

正規行列は は対角行列で はユニタリ行列)のようにユニタリ対角化可能な最も一般的な種類の行列である.等式の両辺が単純に なので,エルミート行列 はどれも正規行列である:

同様に,等式の両辺が単純に なので,反エルミート行列はどれも正規行列である:

定義 TemplateBox[{u}, ConjugateTranspose]=TemplateBox[{u}, Inverse]に代入すると両辺が恒等行列になるので,ユニタリ行列は正規行列である:

次の行列が正規行列であることを示し,次に対角化する:

NormalMatrixQを使って確かめる:

のような正規行列はEigensystemを使ってユニタリ対角化可能である:

対角上の成分は任意の複素数でよい:

固有ベクトルを正規化して列に置くとユニタリ行列になる:

対角化 n=u.d.TemplateBox[{u}, ConjugateTranspose]を確認する:

固有ベクトルの正規化を飛ばしても, が(ユニタリ対角化ではないが)対角化可能であることを示すのには十分である:

量子力学では,エネルギー演算子 はハミルトニアンと呼ばれ,エネルギー を持つ状態はシュレーディンガー(Schrödinger)方程式 に従って進化する.ここで重要な仮定は,どのような状態も固有状態の和として書けるということである.これが, 方向に一定の磁場を持つスピン1粒子のハミルトニアンの場合に当てはまることを示す:

この行列は対角化可能なので,その固有ベクトルはTemplateBox[{}, Complexes]^3の基底を形成しなければならない:

固有系を計算すると,エネルギーレベルは である:

固有ベクトルが線形独立であり,したがって基底であることを確認する:

固有ベクトルを正規化する:

任意の状態を固有ベクトルの和として分解する:

CircularRealMatrixDistributionを含む多くの行列分布は,対角化可能であることが保証される行列を生成する:

CircularSymplecticMatrixDistribution

GaussianOrthogonalMatrixDistribution

GaussianUnitaryMatrixDistribution

特性と関係  (9)

対角化可能な行列 Eigensystemを使って m=p.d.TemplateBox[{p}, Inverse]のように因子分解することができる. は対角行列である:

固有ベクトルを行列の列に,固有値を行列の対角に置く:

分解を確認する:

行列が固有ベクトルの完全集合を持つときかつそのときに限ってその行列は対角化可能である:

繰り返される固有値を持つにもかかわらず, は3つの線形独立の固有ベクトルを持つ:

と同じ固有値を持つにもかかわらず, は対角化可能である:

Eigensystemが返す零ベクトルが示すように,2つの独立固有ベクトルしか持たない:

繰り返される固有値がない任意の行列は対角化可能である:

任意の実対称行列は対角化可能である:

任意のエルミート行列もそうである:

任意の実反対称行列は対角化可能である:

任意の半エルミート行列もそうである:

任意の直交行列は対角化可能である:

任意のユニタリ行列もそうである:

任意の正規行列は対角化可能である:

JordanDecomposition[m] 行列が対角行列なら,行列 m は対角化可能である:

のとき なら × 行列 はベキ零である:

対角化不可能な行列 について考える:

JordanDecompositionを使って と書く. は対角化可能で はベキ零である:

が対角化可能であることを確認する:

行列 はベキ零である:

さらに, は可換である:

Wolfram Research (2014), DiagonalizableMatrixQ, Wolfram言語関数, https://reference.wolfram.com/language/ref/DiagonalizableMatrixQ.html.

テキスト

Wolfram Research (2014), DiagonalizableMatrixQ, Wolfram言語関数, https://reference.wolfram.com/language/ref/DiagonalizableMatrixQ.html.

CMS

Wolfram Language. 2014. "DiagonalizableMatrixQ." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/DiagonalizableMatrixQ.html.

APA

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

BibTeX

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

BibLaTeX

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