PositiveDefiniteMatrixQ

PositiveDefiniteMatrixQ[m]

m が明示的に正定値である場合はTrueを,それ以外の場合はFalseを返す.

詳細

  • 行列 m は,すべての非零のベクトル x についてRe[Conjugate[x].m.x]>0であれば,正定値行列である. »
  • PositiveDefiniteMatrixQは数値行列と記号行列の両方に使うことができる.

例題

すべて開くすべて閉じる

  (2)

2×2実行列が明示的に正定値かどうかを調べる:

これは,すべてのベクトル について二次形式が であることを意味している:

二次形式の値を可視化する:

3×3エルミート(Hermitian)行列が正定値かどうかを調べる:

スコープ  (10)

基本的な用法  (6)

機械精度の実行列が明示的に正定値かどうかを調べる:

複素行列が正定値かどうかを調べる:

厳密行列が正定値かどうかを調べる:

PositiveDefiniteMatrixQを任意精度行列に使う:

ランダム行列は,一般に,正定値ではない:

PositiveDefiniteMatrixQを記号行列に使う:

b=-TemplateBox[{a}, Conjugate]のとき,行列は正定値になる:

PositiveDefiniteMatrixQは大きい数値行列に効率的に作用する:

特殊行列  (4)

PositiveDefiniteMatrixQを疎な行列に使う:

PositiveDefiniteMatrixQを構造化行列に使う:

恒等行列は正定値行列である:

HilbertMatrixは正定値行列である:

アプリケーション  (15)

正定値行列の幾何と代数  (4)

2×2実正定値行列とその二次実随伴行列 q=TemplateBox[{x}, Transpose].m.x について考える:

は正定値行列なので,レベル集合は楕円である:

のプロットは上向きの楕円放物面である:

実正定値行列のレベル集合は 楕円体である:

エルミート行列は q=TemplateBox[{x}, ConjugateTranspose].m.x によって実数値の二次形式を定義する:

が正定値行列なら, はすべての非零の入力について正である:

実数値入力について を可視化する:

実数値行列 については,対称部分のみが が正定値かどうかを決定する. が対称, が反対称で を書く:

は実対称なのでTemplateBox[{{(, {TemplateBox[{x}, ConjugateTranspose, SyntaxForm -> SuperscriptBox], ., s, ., x}, )}}, Conjugate]=TemplateBox[{{(, {TemplateBox[{x}, ConjugateTranspose, SyntaxForm -> SuperscriptBox], ., s, ., x}, )}}, ConjugateTranspose]=TemplateBox[{x}, ConjugateTranspose].TemplateBox[{s}, ConjugateTranspose].TemplateBox[{{(, TemplateBox[{x}, ConjugateTranspose, SyntaxForm -> SuperscriptBox], )}}, ConjugateTranspose]=TemplateBox[{x}, ConjugateTranspose].s.x である.つまり,TemplateBox[{x}, ConjugateTranspose].s.x は純粋に実数である:

同様に, は実反対称なのでTemplateBox[{{(, {TemplateBox[{x}, ConjugateTranspose, SyntaxForm -> SuperscriptBox], ., a, ., x}, )}}, Conjugate]=-TemplateBox[{x}, ConjugateTranspose].a.x つまり TemplateBox[{x}, ConjugateTranspose].a.x は純粋に虚である:

Re(TemplateBox[{x}, ConjugateTranspose].m.x)=TemplateBox[{x}, ConjugateTranspose].s.x なので, が以下のときかつそのときに限って は正定値である:

複素数値行列 については,エルミート部分のみが が正定値かどうかを決定する. をエルミート行列, を反エルミート行列として を書く:

はエルミート行列なのでTemplateBox[{{(, {TemplateBox[{x}, ConjugateTranspose], ., h, ., x}, )}}, Conjugate]=TemplateBox[{{(, {TemplateBox[{x}, ConjugateTranspose], ., h, ., x}, )}}, ConjugateTranspose]=TemplateBox[{x}, ConjugateTranspose].TemplateBox[{h}, ConjugateTranspose].TemplateBox[{{(, TemplateBox[{x}, ConjugateTranspose, SyntaxForm -> SuperscriptBox], )}}, ConjugateTranspose]=TemplateBox[{x}, ConjugateTranspose].h.x,つまり TemplateBox[{x}, ConjugateTranspose].h.x は純粋に実である:

同様に, は反エルミート行列なのでTemplateBox[{{(, {TemplateBox[{x}, ConjugateTranspose, SyntaxForm -> SuperscriptBox], ., a, ., x}, )}}, Conjugate]=-TemplateBox[{x}, ConjugateTranspose].a.x,つまり,TemplateBox[{x}, ConjugateTranspose].a.x は純粋に虚である:

したがって,Re(TemplateBox[{x}, ConjugateTranspose].m.x)=TemplateBox[{x}, ConjugateTranspose].h.x が正定値行列のときかつそのときに限って は正定値行列である:

正定値行列の起源  (6)

実非特異Covariance行列は常に対称かつ正定値である:

複素数の場合はエルミート行列である:

グラム行列は, 個のベクトルの の内積の対称行列である:

ベクトルが線形独立の場合,グラム行列は常に正定値行列である:

WishartMatrixDistributionから導かれた行列は実対称正定値行列である:

非特異エルミート行列の二乗は正定値行列である:

Lehmer行列は正定値対称行列である:

その逆行列は三重対角行列であり,これもまた正定値対称行列である:

行列Min[i,j]は,常に正定値対称行列である:

その逆行列は三重対角行列であり,これもまた正定値対称行列である:

正定値行列の使い方  (5)

正定値実対称行列,つまり行列 は, によって内積を定義する:

が実際に対称正定値行列であることを確認する:

TemplateBox[{}, Reals]^nの標準基底を直交化して正規直交基底を求める:

この規定が内積について正規直交であることを確認する:

慣性モーメントテンソルは回転運動の質量に等しい.例えば,運動エネルギーは である( は式の質量 に,角速度 は線形速度 に代る). は正定値対称行列で表すことができる.端点が原点と正の座標軸にある四面体の慣性モーメントを計算する:

この行列が対称正定値行列であることを確認する:

角速度がのときの運動エネルギーを計算する:

は正定値なので,運動エネルギーは が非零である限り正である:

二次導関数テストは関数の臨界点を,ヘッセ(Hesse)行列が正定値なら極小値として,ヘッセ行列が負定値なら極大値として,ヘッセ行列が不定なら鞍点として分類する.このテストはヘッセ行列がこれら3つのいずれでもない場合は失敗する.2変数の関数の臨界点を求める:

ヘッセ行列を計算する:

3つの臨界点の最後のものは鞍点である:

最初の2つは極小値である:

この関数を可視化する.赤と青の点は最小値で緑の点は鞍点である:

3変数関数の臨界点を求める:

f のヘッセ行列を計算する:

最初の2つの臨界点は極小値である:

最後の3つは鞍点である:

この関数については,臨界点のうち任意の3つは線形依存の関係にあるので,どれも単一の平面上にある:

この平面の法線を計算する:

最小値を緑,極端ではない臨界点を赤にして,この関数を可視化する:

CholeskyDecompositionは正定値エルミート行列にしか使えない:

の上三角行列分解は TemplateBox[{b}, ConjugateTranspose].b=m となるような行列 である:

特性と関係  (15)

PositiveDefiniteMatrixQ[x]は行列ではない任意のx に対しては自明にFalseを返す:

すべての非零のベクトル についてRe(TemplateBox[{x}, ConjugateTranspose].m.x)>0なら行列 は正定値行列である:

Im(TemplateBox[{x}, ConjugateTranspose].m.x)の符号は無関係である:

実行列 は,その対称部分が正定値のときかつそのときに限り正定値行列である:

一般に,行列 はそのエルミート部分が正定値のときかつそのときに限り正定値行列である:

実対称行列は,その固有値がすべて正のときかつそのときに限り正定値行列である:

これは,より一般的に,エルミート行列についても真である:

一般的な行列は正定値行列ではなくてもすべて正の固有値を持つことがある:

同様に,行列は正の固有値を持たなくても正定値行列であることがある:

この失敗は固有値が複素数であるためである:

正定値行列の固有値の実部は正でなければならない:

対角行列は対角要素が正の実部を持つときかつそのときに限り正定値行列である:

正定値行列は一般的な形 u.d.TemplateBox[{u}, ConjugateTranspose]+a を持つ.対角の正定値は である:

をエルミート部分と反エルミート部分に分割する:

スペクトル定理によって JordanDecompositionを使ってユニタリ対角化可能である:

行列 は正の対角成分を持つ対角行列である:

行列 はユニタリ行列である:

m=u.d.TemplateBox[{u}, ConjugateTranspose]+a であることを確かめる:

行列 が負定値のときかつそのときに限り正定値行列である:

正定値行列は常に半正定値である:

不定値行列のこともあれば半負定値行列のこともある:

正定値行列は可逆である:

逆行列も正定値行列である:

が実正定値行列なら,任意の実数ベクトル について TemplateBox[{x}, Transpose].m.x>=delta ||x||^2となるような が存在する:

の対称部分の最小固有値であるとする:

TemplateBox[{x}, Transpose].m.x>=delta ||x||^2であることを確認する:

実対称正定値行列の行列式とトレースは正である:

このことは正定値エルミート行列についても真である:

実対称正定値行列 は一意的に定義された となるような平方根 を持つ:

平方根 は正定値行列かつ実対称行列である:

エルミート正定値行列 は一意的に定義された となるような平方根 を持つ:

平方根 は正定値行列かつエルミート行列である:

2つの対称正定値行列のクロネッカー(Kronecker)積は対称かつ正定値である:

積の中の1つの行列を負定値行列で置き換えると負定値行列が与えられる:

考えられる問題  (2)

ヒルベルト(Hilbert)行列は正定値行列である:

mの最小の固有値は機械精度で確実に正となるのには小さすぎる:

機械精度では,行列mは正定値行列として検定されない:

精度を十分に高くして正の固有値を評価すると,正しい答が与えられる:

PositiveDefiniteMatrixQは記号行列が正定値行列であると証明できなければFalseを与える:

EigenvaluesReduceを組み合せるとより正確な結果が得られる:

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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