DiagonalMatrixQ[m,k]
DiagonalMatrixQ
DiagonalMatrixQ[m,k]
詳細とオプション
- DiagonalMatrixQ[m,k]は m が正方行列ではなくても使うことができる.
- DiagonalMatrixQ[m,k]における正の k は主対角の上対角を示し,負の k は主対角の下対角を示す.
- DiagonalMatrixQはSparseArrayオブジェクトおよび構造配列オブジェクトに使うことができる.
- 次は,使用可能なオプションである.
-
Tolerance Automatic 使用する数値許容範囲 - 近似行列については,オプションTolerance->t を使って Abs[mij]≤t であるすべての要素を0であるとすることができる. »
例題
すべて開く すべて閉じる例 (3)
DiagonalMatrixQ[(| | | |
| - | - | - |
| a | 0 | 0 |
| 0 | b | 0 |
| 0 | 0 | c |)]DiagonalMatrixQ[(| | | |
| - | - | - |
| 1 | 0 | 0 |
| 0 | 0 | 2 |
| 3 | 0 | 0 |)]MatrixForm[{{0, a, 0}, {0, 0, b}, {0, 0, 0}}]DiagonalMatrixQ[%, 1]MatrixForm[{{0, 0, 0}, {a, 0, 0}, {0, b, 0}}]DiagonalMatrixQ[%, -1]スコープ (12)
基本的な用法 (8)
(mat23 = {{1, 0, 0}, {0, 2, 0}})//MatrixFormDiagonalMatrixQ[mat23](mat32 = {{1, 0}, {0, 2}, {0, 0}})//MatrixFormDiagonalMatrixQ[mat32]DiagonalMatrixQを記号行列に使う:
DiagonalMatrixQ[{{a, b}, {c, d}}]Block[{b = c = 0}, DiagonalMatrixQ[{{a, b}, {c, d}}]]m = {{1.2, 0, 0}, {0, 2.4, 0}, {0, 0, 3.5}};DiagonalMatrixQ[m]m = {{1, -3I}, {0, 4}};DiagonalMatrixQ[m]{DiagonalMatrixQ[Re[m]], DiagonalMatrixQ[Im[m], 1]}m = (| | | |
| - | - | ------- |
| 0 | 5 | 4 |
| 3 | 1 | Sqrt[2] |
| 3 | 5 | Pi |);DiagonalMatrixQ[m]DiagonalMatrixQを任意精度の行列に使う:
m = RandomReal[5, {3, 3}, WorkingPrecision -> 15]DiagonalMatrixQ[m]DiagonalMatrixQ[(| | | |
| - | - | - |
| 0 | 1 | 0 |
| 0 | 0 | 2 |
| 0 | 0 | 0 |), 1]DiagonalMatrixQ[(| | | |
| - | - | - |
| 0 | 1 | 0 |
| 0 | 0 | 2 |
| 0 | 0 | 0 |), 2]DiagonalMatrixQ[(| | | |
| - | - | - |
| 0 | 1 | 0 |
| 0 | 0 | 2 |
| 0 | 0 | 0 |)]DiagonalMatrixQ[(| | | |
| - | - | - |
| 0 | 0 | 0 |
| 0 | 0 | 0 |
| 3 | 0 | 0 |), -1]DiagonalMatrixQ[(| | | |
| - | - | - |
| 0 | 0 | 0 |
| 0 | 0 | 0 |
| 3 | 0 | 0 |), -2]DiagonalMatrixQ[(| | | |
| - | - | - |
| 0 | 0 | 0 |
| 0 | 0 | 0 |
| 3 | 0 | 0 |)]特殊行列 (4)
DiagonalMatrixQを疎な行列に使う:
SparseArray[{{1, 3} -> 1, {2, 2} -> 2, {3, 1} -> 3}, {3, 3}]DiagonalMatrixQ[%]SparseArray[{{x_, y_} /; x == y -> 3}, {5, 5}]DiagonalMatrixQ[%]DiagonalMatrixQを構造化行列に使う:
SymmetrizedArray[{{1, 1} -> 4, {2, 2} -> 5, {3, 3} -> 6}, {3, 3}, Symmetric[All]]DiagonalMatrixQ[%]QuantityArrayを構造化行列に使う:
QuantityArray[{{1, 0}, {0, 5}}, "Meters"]DiagonalMatrixQ[%]DiagonalMatrixQ[IdentityMatrix[5]]HilbertMatrixは対角行列ではない:
DiagonalMatrixQ[HilbertMatrix[5]]オプション (1)
Tolerance (1)
m = {{1., 10 ^ -12, 0}, {0, 2., 10 ^ -13}, {0, 0, 3.}};
DiagonalMatrixQ[m]Toleranceオプションを加えて10-12未満の数が0であるとみなす:
DiagonalMatrixQ[m, Tolerance -> 10 ^ -12]アプリケーション (2)
実数値行列は,それが正規行列で実固有値を持つときかつそのときに限り対角行列と直交相似である:
m = N[HilbertMatrix[3]];
NormalMatrixQ[m]{vals, vecs} = Eigensystem[m];vals∈Realsm が対角行列と等しいことを,その固有ベクトルを介して確かめる:
DiagonalMatrixQ[vecs.m.Transpose[vecs]]OrthogonalMatrixQ[vecs]行列は,その標準ジョルダン行列が対角行列であるときかつそのときに限り対角化可能である:
mat1 = {{1, 2}, {3, 4}};
(j1 = Last[JordanDecomposition[mat1]])//MatrixForm{DiagonalizableMatrixQ[mat1], DiagonalMatrixQ[j1]}mat2 = {{27, 48, 81}, {-6, 0, 0}, {1, 0, 3}};
(j2 = Last[JordanDecomposition[mat2]])//MatrixForm{DiagonalizableMatrixQ[mat2], DiagonalMatrixQ[j2]}特性と関係 (10)
DiagonalMatrixQは,行列ではない入力に対してはFalseを返す:
DiagonalMatrixQ[1]DiagonalMatrixQ[{}]DiagonalMatrixQ[{{}, {}}]DiagonalMatrixは対角行列を作る:
(m = DiagonalMatrix[{a, b, c, d}])//MatrixFormDiagonalMatrixQ[m]DiagonalMatrixQ[IdentityMatrix[5]]mat = DiagonalMatrix[Range[5]];DiagonalMatrixQ[Inverse[mat]]DiagonalMatrixQ[MatrixPower[mat, n]]DiagonalMatrixQ[MatrixFunction[f, mat]]m1 = DiagonalMatrix[RandomReal[1., {5}]];
m2 = DiagonalMatrix[RandomReal[1., {5}]];DiagonalMatrixQ[m1.m2]mat = DiagonalMatrix[RandomReal[1., {5}]];{DiagonalMatrixQ[m1], UpperTriangularMatrixQ[m1], LowerTriangularMatrixQ[m1]}DiagonalMatrixQ[m,0]はDiagonalMatrixQ[m]に等しい:
{DiagonalMatrixQ[{{1, 0}, {0, 2}}], DiagonalMatrixQ[{{1, 0}, {0, 2}}, 0]}{DiagonalMatrixQ[{{1, 3}, {4, 2}}], DiagonalMatrixQ[{{1, 3}, {4, 2}}, 0]}下対角あるいは上対角だけを持つ行列
はベキ零である.つまり,ある
について
である:
m1 = DiagonalMatrix[Range[4], -1];
DiagonalMatrixQ[m1, -1]MatrixPower[m1, 5]m2 = DiagonalMatrix[Range[4], 1];
DiagonalMatrixQ[m2, 1]MatrixPower[m2, 5]Bandを使って k 対角疎行列が構築できる:
k = RandomInteger[5]m = SparseArray[Band[{1, 1 + k}] -> Range[5], (5 + k){1, 1}]DiagonalMatrixQ[m, k]テキスト
Wolfram Research (2019), DiagonalMatrixQ, Wolfram言語関数, https://reference.wolfram.com/language/ref/DiagonalMatrixQ.html.
CMS
Wolfram Language. 2019. "DiagonalMatrixQ." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/DiagonalMatrixQ.html.
APA
Wolfram Language. (2019). DiagonalMatrixQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DiagonalMatrixQ.html
BibTeX
@misc{reference.wolfram_2026_diagonalmatrixq, author="Wolfram Research", title="{DiagonalMatrixQ}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/DiagonalMatrixQ.html}", note=[Accessed: 14-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_diagonalmatrixq, organization={Wolfram Research}, title={DiagonalMatrixQ}, year={2019}, url={https://reference.wolfram.com/language/ref/DiagonalMatrixQ.html}, note=[Accessed: 14-September-2026]}