NegativeDefiniteMatrixQ

NegativeDefiniteMatrixQ[m]

m が明示的に負定値の場合はTrueを,その他の場合はFalseを返す.

詳細

  • 行列 m は,すべての非零ベクトル x についてRe[Conjugate[x].m.x]<0であれば,負定値である. »
  • NegativeDefiniteMatrixQは,記号行列にも数値行列と同様に使うことができる.

例題

すべて開くすべて閉じる

  (2)

2×2実行列が明示的に負定値かどうかの検定を行う:

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

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

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

スコープ  (10)

基本的な用法  (6)

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

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

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

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

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

NegativeDefiniteMatrixQを記号行列に使う:

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

NegativeDefiniteMatrixQは大きい数値行列を効率的に扱う:

特殊行列  (4)

NegativeDefiniteMatrixQを疎な行列に使う:

NegativeDefiniteMatrixQを構造化行列に使う:

恒等行列は負定値行列ではない:

HilbertMatrixは負定値行列ではない:

アプリケーション  (11)

負定値行列の幾何と代数  (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 が以下のときかつそのときに限って は負定値行列である:

負定値行列の起源  (4)

角が区間にある二次元回転行列は負定値行列である:

このことは,この場合Re(TemplateBox[{x}, ConjugateTranspose].r.x)は通常のドット積に対応し,であるという事実に基づく:

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

Lehmer行列を反転したものは負定値対称行列である:

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

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

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

負定値行列の使い方  (3)

二階微分判定法は,関数の臨界点を,ヘッセ行列が正定値の場合は極小値,ヘッセ行列が負定値の場合は極大値,ヘッセ行列が不定の場合は鞍点と分類する(ヘッセ行列がこれら3つのタイプのいずれでもない場合,この判定法は失敗する).2変数関数の臨界点を求める:

ヘッセ行列を計算する:

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

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

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

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

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

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

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

この関数については,臨界点の任意の3点は線形従属なので,単一の平面上にある:

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

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

CholeskyDecompositionを反転することでこれに負定値行列に適用することができる:

コレスキー分解は正定値エルミート行列にしか使えない:

の上三角分解は となるような行列 である:

特性と関係  (14)

NegativeDefiniteMatrixQ[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)積は正定値対称行列である:

積の片方の行列を正定値行列で置き換えると負定値行列が与えられる:

考えられる問題  (2)

ヒルベルト(Hilbert)行列mは正定値であり,-mは負定値である:

mの最小の固有値は,機械精度で確実に負になるためには小さすぎる:

機械精度では,行列-mの負定値の判定はできない:

負の固有値が計算できる程度の高精度を使うと,正しい答が返される:

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

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

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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