AntihermitianMatrixQ
詳細とオプション
- AntihermitianMatrixQは歪エルミートとしても知られている.
- m-ConjugateTranspose[m]であれば,行列 m は反エルミート行列である.
- AntihermitianMatrixQは,記号行列と数値行列の両方に用いることができる.
- 使用可能なオプション
-
SameTest Automatic 式の等価性を検定する関数 Tolerance Automatic 近似数の許容範囲 - 厳密行列および記号行列については,オプションSameTest->f は,f[mij,mkl]がTrueを返す場合は,mijと mklの2つの項が等価であると考えられることを示す.
- 近似行列については,オプションTolerance->t を使ってAbs[mij]≤t であるすべての項がゼロであると考えられることを示す.
- Abs[mij]>t である行列の項については,等価性の比較は最後の
ビットを除いて行われる.ただし,
は,MachinePrecision行列については$MachineEpsilon,Precision
の行列については
である.
例題
すべて開く すべて閉じる例 (2)
2×2数値行列が明示的に反エルミート行列であるかどうかの検定を行う:
AntihermitianMatrixQ[(| | |
| -------- | ------- |
| I | 3 + 4 I |
| -3 + 4 I | 0 |)]3×3記号行列が明示的に反エルミート行列であるかどうかの検定を行う:
AntihermitianMatrixQ[(| | | |
| ---- | ---- | -- |
| I | a | b |
| -a^ | 0 | c |
| -b^ | -c^ | -I |)]スコープ (10)
基本的な用法 (6)
機械精度の実行列が反エルミート行列であるかどうかの検定を行う:
m = {{0, -2.3}, {2.3, 0}};AntihermitianMatrixQ[m]AntisymmetricMatrixQ[m]m = {{I, 2 - 3I}, {-2 - 3I, -I}};AntihermitianMatrixQ[m]{AntisymmetricMatrixQ[Re[m]], SymmetricMatrixQ[Im[m]]}m = (| | | |
| - | -- | -- |
| 4 | -5 | 2 |
| 3 | -3 | -3 |
| 5 | 5 | 5 |);AntihermitianMatrixQ[m]AntihermitianMatrixQ[(m - m^/2)]AntihermitianMatrixQを任精度の行列に使う:
m = RandomReal[5, {3, 3}, WorkingPrecision -> 15]AntihermitianMatrixQ[m]AntihermitianMatrixQを記号行列に使う:
AntihermitianMatrixQ[{{a, b}, {c, d}}]c=-bであり,aおよびdの実部が0のとき,行列は反エルミート行列になる:
Block[{c = -b^, a = I Re[e], d = I Re[f]}, AntihermitianMatrixQ[{{a, b}, {c, d}}]]AntihermitianMatrixQは大きい数値配列に対して効率的に機能する:
m = RandomReal[1, {1000, 1000}];AbsoluteTiming[AntihermitianMatrixQ[m]]a = m - m^;
AbsoluteTiming[AntihermitianMatrixQ[a]]特殊行列 (4)
AntihermitianMatrixQを疎な配列に使う:
SparseArray[{i_, j_} -> i - j + (i + j)I, {5, 5}]AntihermitianMatrixQ[%]AntihermitianMatrixQを構造化行列に使う:
SymmetrizedArray[{{1, 2} -> 4, {3, 2} -> 5}, {3, 3}, Antisymmetric[All]]AntihermitianMatrixQ[%]QuantityArrayを構造化行列に使う:
QuantityArray[{{1, 2}, {2, 5}}, "Meters"]AntihermitianMatrixQ[%]AntihermitianMatrixQ[IdentityMatrix[3]]AntihermitianMatrixQ[IdentityMatrix[3]I]HilbertMatrixは反エルミート行列ではない:
AntihermitianMatrixQ[HilbertMatrix[5]]オプション (2)
SameTest (1)
この行列は正の実数
については反エルミート行列だが,AntihermitianMatrixQはFalseを返す:
m = {{I, Exp[Log[I x]]}, {I x, 2I}};AntihermitianMatrixQ[m]オプションSameTestを使って正しい答を得る:
AntihermitianMatrixQ[m, SameTest -> (Simplify[#1 - #2, x > 0] == 0&)]Tolerance (1)
SeedRandom[56];
m = Block[{a = RandomComplex[1 + I, {3, 3}]}, a - a^];
m = m + 10^-14 RandomReal[10, {3, 3}];AntihermitianMatrixQ[m]この行列が反エルミート行列として受容されるように,オプションToleranceを調節する:
AntihermitianMatrixQ[m, Tolerance -> 10 ^ -12]m + m^//Normアプリケーション (6)
反エルミート関数
から生成された任意の行列は反エルミート行列である:
f[x_, y_] := Re[x]Re[y] IConjugate[f[y, x]] == -f[x, y]//SimplifyTableを使って反エルミート行列を生成する:
AntihermitianMatrixQ[Table[f[i, j], {i, 5}, {j, 5}]]SymmetrizedArrayは対称性がある行列(および一般配列)が生成できる:
SymmetrizedArray[{{1, 2} -> a, {2, 3} -> b}, {3, 3}, Antihermitian[{1, 2}]]AntihermitianMatrixQ[%]Normalを使って通常の行列に変換し直す:
Normal[SymmetrizedArray[StructuredArray`StructuredData[{3, 3}, {{{1, 2} -> a, {2, 3} -> b},
Antihermitian[{1, 2}]}]]]r[θ_] := (| | |
| ------ | ------- |
| Cos[θ] | -Sin[θ] |
| Sin[θ] | Cos[θ] |)D[r[θ], θ].Inverse[r[θ]]//FullSimplifyAntihermitianMatrixQ[%]rot = RotationMatrix[θ, RandomReal[1, 3, WorkingPrecision -> 5]];
AntisymmetricMatrixQ[D[rot, θ].Inverse[rot]]ストーン(Stone)の定理には,ユニタリ行列の任意の1パラメータ族は反エルミート対数微分を持つとある.この定理を次の行列族について検証する:
u[t_] := (| | |
| -------- | -------- |
| Cos[t] | I Sin[t] |
| I Sin[t] | Cos[t] |)まず,
は実数であるという仮定の下ではこの行列はユニタリ行列であることを確認する:
UnitaryMatrixQ[u[t], SameTest -> (Simplify[#1 - #2 == 0, t∈Reals] &)]u'[t].Inverse[u[t]]//FullSimplifyAntihermitianMatrixQ[%]量子力学では,時間発展はユニタリ行列
の1パラメータ族で表される.
掛ける
の対数微分はハミルトニアンあるいはエネルギー演算子
と呼ばれるエルミート行列で,その固有値は系の可能なエネルギーを表す.次の時間発展についてハミルトニアンと可能なエネルギーを計算する:
u[t_] := (| | | |
| ------------------------ | ---------------------- | ------------------------ |
| (1/2) + (1/2) Cos[t ω0] | -(I Sin[t ω0]/Sqrt[2]) | -(1/2) + (1/2) Cos[t ω0] |
| -(I Sin[t ω0]/Sqrt[2]) | Cos[t ω0] | -(I Sin[t ω0]/Sqrt[2]) |
| -(1/2) + (1/2) Cos[t ω0] | -(I Sin[t ω0]/Sqrt[2]) | (1/2) + (1/2) Cos[t ω0] |)UnitaryMatrixQ[u[t], SameTest -> (Simplify[#1 - #2 == 0, {t, Subscript[ω, 0]}∈Reals] &)]u'[t].Inverse[u[t]]//FullSimplifyAntihermitianMatrixQ[%, SameTest -> (Simplify[#1 - #2 == 0, {Subscript[ω, 0]}∈Reals] &)]MatrixForm[ℋ = I ℏ %%]HermitianMatrixQ[ℋ, SameTest -> (Simplify[#1 - #2 == 0, {ℏ, Subscript[ω, 0]}∈Reals] &)]Eigenvalues[ℋ]反エルミート行列
の指数MatrixExp[v]はユニタリ行列である.初期値が
であるその微分方程式
から行列関数を定義し,解がユニタリ行列であることを示す:
AntihermitianMatrixQ[v = (| | | |
| ------- | ----- | ------ |
| 2I | -0.5I | 1. - I |
| -0.5I | 0 | 1. |
| -1. - I | -1. | -I |)]以下を解き,結果の行列がどの時点でもユニタリ行列であることをチェックする:
mm = NDSolveValue[{m'[t] == v.m[t], m[0] == IdentityMatrix[3]}, m, {t, 0., 5.}]Table[UnitaryMatrixQ[mm[t], Tolerance -> 10 ^ -5], {t, 0., 5., 1.}]Table[Norm@mm[t], {t, 0., 5., 1.}]rows = Table[ParametricPlot3D[Abs[mm[t][[i]]], {t, 0., 5.}, PlotStyle -> ColorData[1, i]], {i, 3}]//Quiet;Show[Graphics3D[{Opacity[0.5], Sphere[]}], rows]特性と関係 (15)
AntihermitianMatrixQ[x]は行列ではない任意の x について自明にFalseを返す:
AntihermitianMatrixQ[Sqrt[3]]m==-ConjugateTranspose[m]のとき,その行列は反エルミート行列である:
m = (| | | |
| ------- | ------ | --- |
| 2I | 2 + 2I | -3I |
| -2 + 2I | -I | 4 |
| -3I | -4 | 0 |);{m == -ConjugateTranspose[m], AntihermitianMatrixQ[m]}反エルミート行列は純粋に虚数である対角要素を持たなければならない:
m = (| | |
| -------- | ------- |
| I | 2 + 2 I |
| -2 + 2 I | 0 |);AntihermitianMatrixQ[m]Diagonalを使って対角要素を取り出す:
Diagonal[m]m = (| | |
| -- | - |
| 0 | 2 |
| -2 | 0 |);{AntisymmetricMatrixQ[m], AntihermitianMatrixQ[m]}m = (| | |
| -------- | ------- |
| 0 | 2 + 2 I |
| -2 - 2 I | 0 |);{AntisymmetricMatrixQ[m], AntihermitianMatrixQ[m]}Symmetrizeを対称Antihermitianに使って行列の反エルミート部分を計算する:
m = RandomComplex[1 + I, {3, 3}];Symmetrize[m, Antihermitian[{1, 2}]]これは m とConjugateTranspose[m]の間の正規化された差に等しい:
% == (m - m/2)任意の行列を,そのエルミート部分と反エルミート部分の和として表すことができる:
m = RandomComplex[1 + I, {3, 3}];
{hr, ahr} = {(m + m^) / 2, (m - m^) / 2};m == hr + ahrHermitianMatrixQを使って行列がエルミート行列かどうかの検定を行う:
{HermitianMatrixQ[hr], AntihermitianMatrixQ[ahr]}m = Block[{a = RandomComplex[1 + I, {5, 5}]}, a + a^];{HermitianMatrixQ[m], AntihermitianMatrixQ[I m]}反エルミート行列 mについてのMatrixExp[m]はユニタリ行列である:
m = Block[{a = RandomComplex[1 + I, {5, 5}]}, a - a^];UnitaryMatrixQ[MatrixExp[m]]m = Block[{a = RandomComplex[1 + I, {5, 5}]}, a - a^];NormalMatrixQを使って行列が正規行列かどうかの検定を行う:
{AntihermitianMatrixQ[m], NormalMatrixQ[m]}m = Block[{a = RandomComplex[1 + I, {4, 4}]}, a - a^];AntihermitianMatrixQ[m]Eigenvaluesを使って固有値を求める:
Eigenvalues[m]//Chop反エルミート行列 m のCharacteristicPolynomial[m,x]は実数と虚数の係数を交互に持つ:
m = Block[{a = RandomComplex[1 + I, {4, 4}]}, a - a^];CharacteristicPolynomial[m, x]//Chopm = Block[{a = RandomComplex[1 + I, {3, 3}]}, a - a^];AntihermitianMatrixQ[m]DiagonalizableMatrixQ[m]Eigenvectorsを使って固有ベクトルを求める:
Eigenvectors[m]奇数次の反対称行列 m のDet[m]は虚数である:
m = Block[{a = RandomComplex[1 + I, {5, 5}]}, a - a^];{AntihermitianMatrixQ[m], Det[m]//Chop}m = Block[{a = RandomComplex[1 + I, {4, 4}]}, a - a^];{AntihermitianMatrixQ[m], Det[m]//Chop}m = Block[{a = RandomComplex[1 + I, {3, 3}]}, a - a];AntihermitianMatrixQ[Inverse[m]]m = Block[{a = RandomComplex[1 + I, {3, 3}]}, a - a];AntihermitianMatrixQ[MatrixPower[m, 9]]HermitianMatrixQ[MatrixPower[m, 8]]関連するガイド
-
▪
- 行列述語
テキスト
Wolfram Research (2014), AntihermitianMatrixQ, Wolfram言語関数, https://reference.wolfram.com/language/ref/AntihermitianMatrixQ.html.
CMS
Wolfram Language. 2014. "AntihermitianMatrixQ." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/AntihermitianMatrixQ.html.
APA
Wolfram Language. (2014). AntihermitianMatrixQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/AntihermitianMatrixQ.html
BibTeX
@misc{reference.wolfram_2026_antihermitianmatrixq, author="Wolfram Research", title="{AntihermitianMatrixQ}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/AntihermitianMatrixQ.html}", note=[Accessed: 10-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_antihermitianmatrixq, organization={Wolfram Research}, title={AntihermitianMatrixQ}, year={2014}, url={https://reference.wolfram.com/language/ref/AntihermitianMatrixQ.html}, note=[Accessed: 10-September-2026]}