SymmetricMatrixQ

SymmetricMatrixQ[m]

m が明示的に対称行列である場合はTrueを,その他の場合はFalseを返す.

詳細とオプション

  • m==Transpose[m]のとき,行列 m は対称行列である.
  • SymmetricMatrixQは,記号行列にも数値行列と同じように使うことができる.
  • 使用可能なオプション
  • SameTest Automatic式の等価性を検定する関数
    Tolerance Automatic近似数の許容範囲
  • 厳密行列あるいは記号行列の場合は,オプションSameTest->f は,f[mij,mkl]Trueを返す場合は2つの項 mijおよび mklが等しいと解釈できることを示す.
  • 近似行列の場合は,オプションTolerance->t を使って,Abs[mij]t であるすべての項がゼロであると解釈できることを示すことができる.
  • 行列の項 Abs[mij]>t について,等価性の比較は最後のビットを除いて行われる.ただし,MachinePrecision行列については$MachineEpsilonPrecision の行列についてははである.

例題

すべて開くすべて閉じる

  (2)

2×2数値行列が明示的に対称であるかどうかの検定を行う:

3×3記号行列が明示的に対称であるかどうかの検定を行う:

スコープ  (10)

基本的な用法  (6)

機械精度の実行列が対称行列かどうかの検定を行う:

実対称行列はエルミート行列でもある:

複素行列が対称行列かどうかの検定を行う:

複素対称行列には,対称な実部と虚部がある:

厳密行列が対称行列かどうかの検定を行う:

行列を対称行列にする:

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

ランダム行列は,通常は,対称行列ではないことが多い:

SymmetricMatrixQをl記号行列に使う:

のとき,行列は対称になる:

SymmetricMatrixQは大きい数値行列に効率的に機能する:

特殊行列  (4)

SymmetricMatrixQを疎な行列に使う:

SymmetricMatrixQを構造化行列に使う:

QuantityArrayを構造化行列に使う:

恒等行列は対称行列である:

HilbertMatrixは対称行列である:

オプション  (2)

SameTest  (1)

この行列は正の実数 については対称行列であるが,SymmetricMatrixQFalseを返す:

オプションSameTestを使って正しい答を得る:

Tolerance  (1)

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

この行列を対称行列として許容するように,オプションToleranceを調節する:

この行列とその共役転置行列の差のノルム:

アプリケーション  (13)

対称行列の生成  (4)

対称関数 から生成された行列は対称行列である:

この関数は対称である:

Tableを使って対称行列を生成する:

SymmetrizedArrayは対称性のある行列(および一般配列)が生成できる:

Normalを使って通常の行列に変換し直す:

GaussianOrthogonalMatrixDistributionから導かれた行列が対称行列かどうかをチェックする:

CircularOrthogonalMatrixDistributionから導かれた行列は対称かつユニタリである:

ジョルダン(Jordan)行列はすべて対称行列と相似である.任意の正方行列はそのジョルダン形と相似であるので,このことは,任意の正方行列が対称行列と相似であることを意味する.固有値 について ジョルダンブロックを生成する関数を定義する:

例えば,次は固有値に ついて次元が4のジョルダン行列である:

対応する複素相似変換を生成する関数を定義する:

この行列はに恒等行列を掛けたものとに後退恒等行列を掛けたものの和である:

s(n).j(lambda,n).TemplateBox[{{s, (, n, )}}, Inverse]は対称であるが,これはジョルダン行列が対称行列と相似であることを示している:

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

対称行列の例  (5)

関数のヘッセ(Hesse)行列は対称行列である:

FourierMatrixを含む特殊行列の多くは対称行列である:

HadamardMatrix

HankelMatrix

HilbertMatrix

行列の型を可視化する:

DiskMatrixを含む多くのフィルタカーネル行列は対称である:

CrossMatrix

DiamondMatrix

行列を可視化する:

無向グラフのAdjacencyMatrixは対称行列である:

KirchhoffMatrixもそうである:

さまざまなグラフの隣接行列を可視化する:

統計尺度の中にはCovariance等の対称行列が含まれる:

Correlation

AbsoluteCorrelation

対称行列の用法  (4)

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

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

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

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

慣性モーメントテンソルは回転運動の質量に相当する.たとえば,運動エネルギーは であり,式の質量 の代りに が使用され,線速度 の代りに角速度 が使用されている. は正定値対称行列で表すことができる.原点と正の座標軸に端点がある四面体について慣性モーメントを計算する:

行列が対称であることを確認する:

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

が非零である限り運動エネルギーは正で,行列が正定値であることを示している:

疎行列が構造的に対称かどうか確かめる:

この行列は対称行列ではない:

しかし,構造的には対称である:

一般的なメソッドへのフェイルオーバーがある別の方法を,対称行列に使う:

検定のために実行列を構築する:

非対称行列mについては,関数myLSはガウス消去法のみを使う:

不定値対称行列msについては,コレスキー(Cholesky)法を試み,続けてガウス消去法を用いる:

正定値対称行列mpdについては,コレスキー法を試みる,これは成功する:

特性と関係  (14)

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

mTranspose[m]のとき,その行列は対称行列である:

実対称行列はエルミート行列である:

しかし,複素数値の対称行列はそうではないかもしれない:

Symmetrizeを使って行列の対称部分を計算する:

これは mTranspose[m]の平均に等しい:

任意の行列を,その対称部分と反対称部分の和で表すことができる:

AntisymmetricMatrixQを使って行列が反対称かどうかを調べることができる:

が実数成分を持つ対称行列なら は反エルミート行列である:

実対称行列 m についてのMatrixExp[I m]はユニタリ行列である:

実数値対称行列は常に正規行列である:

複素数値対称行列は正規行列ではなくてもよい:

実数値対称行列の固有値はすべて実固有値である:

Eigenvaluesを使って固有値を求める:

複素数値の対称行列は実数と複素数両方の固有値を持つかもしれない点に注意のこと:

実対称行列 mCharacteristicPolynomial[m,x]を因子分解すると線形項になる:

実数値対称行列は固有ベクトルの完全集合持つ:

結果として,それらは対角化可能でなければならない:

Eigenvectorsを使って固有ベクトルを求める:

複素数値の対称行列はこれらの特性を持たなくてもよい点に注意のこと:

対称行列の逆行列は対称行列である:

対称行列の行列関数はMatrixPowerを含めて対称である:

MatrixExp

そして,任意の一変量関数はMatrixFunctionを使って表すことができる:

SymmetricMatrixを使うと対称行列が明示的に構築できる:

これらはSymmetricMatrixQを満足する:

考えられる問題  (1)

SymmetricMatrixQは実数値と複素数値両方の行列に定義 TemplateBox[{m}, Transpose]=m を使う:

これらの複素行列は正規行列である必要も自己随伴(実対称)行列の特性の多くを持つ必要もない点に注意のこと:

HermitianMatrixQは自己随伴行列について条件 TemplateBox[{m}, ConjugateTranspose]=m を検定する:

あるいは,実対称行列に制限するために成分が実数かどうかを検定する:

おもしろい例題  (1)

FourierMatrixを含む対称行列の画像:

Wolfram Research (2008), SymmetricMatrixQ, Wolfram言語関数, https://reference.wolfram.com/language/ref/SymmetricMatrixQ.html (2014年に更新).

テキスト

Wolfram Research (2008), SymmetricMatrixQ, Wolfram言語関数, https://reference.wolfram.com/language/ref/SymmetricMatrixQ.html (2014年に更新).

CMS

Wolfram Language. 2008. "SymmetricMatrixQ." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/SymmetricMatrixQ.html.

APA

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

BibTeX

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

BibLaTeX

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