PositiveSemidefiniteMatrixQ

PositiveSemidefiniteMatrixQ[m]

m が明示的に半正定値行列の場合にはTrueを,その他の場合にはFalseを与える.

詳細とオプション

  • 行列 m は,すべての非零のベクトル x についてRe[Conjugate[x].m.x]0であれば,半正定値行列である. »
  • PositiveSemidefiniteMatrixQは,記号行列にも数値行列と同様に使うことができる.
  • 近似行列については,オプションTolerance->t を使ってλt λmaxを満足するすべての固有値 λ がゼロであると考えられることを示すことができる.ただし,λmaxは最大の固有値である.
  • オプションToleranceのデフォルト値はAutomaticである.

例題

すべて開くすべて閉じる

  (2)

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

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

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

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

スコープ  (10)

基本的な用法  (6)

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

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

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

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

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

PositiveSemidefiniteMatrixQを記号行列に使う:

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

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

特殊行列  (4)

PositiveSemidefiniteMatrixQを疎な行列に使う:

PositiveSemidefiniteMatrixQを構造化行列に使う:

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

HilbertMatrixは半正定値行列である:

オプション  (1)

Tolerance  (1)

次数10-12のランダムな摂動がある実数値対角行列を生成する:

行列が半正定値行列として受け入れられるように,オプションToleranceを調節する:

アプリケーション  (13)

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

実半正定値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.ゆえに, が以下のときかつそのときに限り は半正定値行列である:

半正定値行列の起源  (8)

Covariance行列は,常に対称行列であり半正定値行列である:

複素行列はエルミート行列である:

正方行列 についてSingularValueDecomposition[m]を計算する:

は半正定値行列である:

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

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

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

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

反エルミート行列はどれも半正定値行列である:

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

その逆行列は三重対角行列であるが,それは対称半正定値行列でもある:

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

その逆行列は三重対角行列であるが,それは対称半正定値行列でもある:

特性と関係  (13)

PositiveSemidefiniteMatrixQ[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 であることを確認する:

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

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

しかし,正定値行列ではない半正定値行列がある:

半正定値行列は不定値行列であったり半負定値行列であったりすることはない:

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

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

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

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

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

平方根 半正定値行列でありエルミート行列である:

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

積の中の行列の一つを半負定値行列に置き換えると半負定値行列になる:

考えられる問題  (2)

CholeskyDecompositionは,特異値である半正定値対称行列あるいは半正定値エルミート行列に使うことはできない:

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

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

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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