UpperTriangularMatrixQ
詳細とオプション
- UpperTriangularMatrixQ[m,k]は m が正方行列ではなくても使うことができる.
- UpperTriangularMatrixQ[m,k]における正の k は主対角の上を示し,負の k は主対角の下を示す.
- UpperTriangularMatrixQは,SparseArrayオブジェクトおよび構造配列オブジェクトに使うことができる.
- 次は,使用可能なオプションである.
-
Tolerance Automatic 使用する数値許容範囲 - 近似行列については,オプションTolerance->t を使って Abs[mij]≤t であるすべての成分を0であるとみなすことができる. »
例題
すべて開く すべて閉じる例 (3)
UpperTriangularMatrixQ[(| | | |
| - | - | - |
| a | b | c |
| 0 | e | f |
| 0 | 0 | g |)]UpperTriangularMatrixQ[(| | | |
| - | - | - |
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |)]行列が最初の上対角要素から始まる上三角行列かどうかを調べる:
MatrixForm[{{0, 1, 2}, {0, 0, 3}, {0, 0, 0}}]UpperTriangularMatrixQ[%, 1]行列が最初の下対角要素から始まる上三角行列かどうかを調べる:
MatrixForm[{{1, 2, 3}, {4, 5, 6}, {0, 7, 9}}]UpperTriangularMatrixQ[%, -1]スコープ (12)
基本的な用法 (8)
(mat23 = {{1, 2, 3}, {0, 4, 5}})//MatrixFormUpperTriangularMatrixQ[mat23](mat32 = {{1, 2}, {0, 4}, {0, 0}})//MatrixFormUpperTriangularMatrixQ[mat32]UpperTriangularMatrixQ[{{a, b}, {c, d}}]UpperTriangularMatrixQ[{{a, b}, {c, d}} /. c -> 0]UpperTriangularMatrixQ[{{1.5, 0, 0}, {2.2, 3.1, 0}, {4.7, 5.2, 6.4}}]UpperTriangularMatrixQ[{{1. + I, 2, 3 - 2 I}, {0, 4, 5I}, {0, 0, 6}}]UpperTriangularMatrixQ[{{1, Sqrt[2]}, {Pi, 1 / 2}}]UpperTriangularMatrixQ[N[{{1, Sqrt[2]}, {0, 1 / 2}}, 20]]行列が主対角の上の特定の対角から始めて非零の項を持つかどうかを調べる:
UpperTriangularMatrixQ[(| | | | |
| - | - | - | -- |
| 0 | 2 | 3 | 4 |
| 0 | 0 | 7 | 8 |
| 0 | 0 | 0 | 12 |
| 0 | 0 | 0 | 0 |), 1]UpperTriangularMatrixQ[(| | | | |
| - | - | - | -- |
| 0 | 2 | 3 | 4 |
| 0 | 0 | 7 | 8 |
| 0 | 0 | 0 | 12 |
| 0 | 0 | 0 | 0 |), 2]UpperTriangularMatrixQ[(| | | | |
| - | - | - | -- |
| 0 | 2 | 3 | 4 |
| 0 | 0 | 7 | 8 |
| 0 | 0 | 0 | 12 |
| 0 | 0 | 0 | 0 |)]行列が主対角の下の特定の対角から始めて非零の項を持つかどうかを調べる:
UpperTriangularMatrixQ[(| | | | |
| - | -- | -- | -- |
| 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 |
| 0 | 14 | 15 | 16 |), -1]UpperTriangularMatrixQ[(| | | | |
| - | -- | -- | -- |
| 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 |
| 0 | 14 | 15 | 16 |), -2]UpperTriangularMatrixQ[(| | | | |
| - | -- | -- | -- |
| 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 |
| 0 | 14 | 15 | 16 |)]特殊行列 (4)
mat = SparseArray[{{1, 1} -> 2, {1, 2} -> 1, {2, 3} -> 5}, {3, 3}]UpperTriangularMatrixQ[mat]SymmetrizedArray[{{1, 1} -> 2, {1, 2} -> 1}, {2, 2}, Symmetric[All]]UpperTriangularMatrixQ[%]QuantityArray[{{6, 5}, {0, 3}, {0, 0}}, {"Meters", "Seconds"}]UpperTriangularMatrixQ[%]UpperTriangularMatrixQ[IdentityMatrix[5]]UpperTriangularMatrixQ[HilbertMatrix[3]]オプション (1)
Tolerance (1)
m = {{1., 2., 3.}, {10 ^ -12, 4., 5.}, {0, 10 ^ -13, 6.}};
UpperTriangularMatrixQ[m]Toleranceオプションを加えて10-12未満の数が0であるとみなす:
UpperTriangularMatrixQ[m, Tolerance -> 10 ^ -12]アプリケーション (2)
SchurDecompositionは2×2ブロック上三角行列を与える:
{q, t} = SchurDecomposition[RandomReal[1., {5, 5}]];MatrixForm[t]この行列が最初の下対角要素から始まる上三角行列であることを確かめる:
{UpperTriangularMatrixQ[t], UpperTriangularMatrixQ[t, -1]}JordanDecompositionは,相似変換
を介して,任意の行列を上三角行列に関連付ける:
m = {{1, 0, 0, 0}, {0, 1, 0, 0}, {1, -1, 1, 0}, {1, -1, 1, 1}};
{s, j} = JordanDecomposition[m];MatrixForm /@ {m, j, s}ジョルダン行列が上三角行列で,もとの行列の相似行列であることを確かめる:
{UpperTriangularMatrixQ[j], m == s.j.Inverse[s]}行列
は,そのジョルダン行列
もまた下三角行列であるときかつそのときに限り,対角化可能である:
{LowerTriangularMatrixQ[j], DiagonalizableMatrixQ[m]}特性と関係 (12)
UpperTriangularMatrixQは,行列ではない入力に対してはFalseを返す:
UpperTriangularMatrixQ[1]UpperTriangularMatrixQ[{}]UpperTriangularMatrixQ[{{}, {}}]UpperTriangularizeはUpperTriangularMatrixQである行列を返す:
UpperTriangularMatrixQ[UpperTriangularize[{{a, b}, {c, d}}]]mat = UpperTriangularize[RandomInteger[{1, 10}, {5, 5}]];UpperTriangularMatrixQ[Inverse[mat]]UpperTriangularMatrixQ[MatrixPower[mat, n]]UpperTriangularMatrixQ[MatrixFunction[f, mat]]2つ(あるいはそれ以上)の上三角行列の積は上三角行列である:
m1 = UpperTriangularize[RandomReal[1., {5, 5}]];
m2 = UpperTriangularize[RandomReal[1., {5, 5}]];UpperTriangularMatrixQ[m1.m2]m = UpperTriangularize[RandomReal[1., {5, 5}]];UpperTriangularMatrixQ[m]Det[m] == Apply[Times, Diagonal[m]]m = UpperTriangularize[RandomReal[1., {5, 5}]];UpperTriangularMatrixQ[m]Eigenvalues[m] == Reverse@Sort@Diagonal[m]UpperTriangularMatrixQ[m,0]はUpperTriangularMatrixQ[m]に等しい:
{UpperTriangularMatrixQ[{{1, 0}, {0, 2}}], UpperTriangularMatrixQ[{{1, 0}, {0, 2}}, 0]}{UpperTriangularMatrixQ[{{1, 3}, {4, 2}}], UpperTriangularMatrixQ[{{1, 3}, {4, 2}}, 0]}QRDecompositionは上三角行列を与える:
{q, r} = QRDecomposition[RandomReal[1., {5, 5}]];UpperTriangularMatrixQ[r]CholeskyDecompositionは上三角行列を与える:
CholeskyDecomposition[{{2, 1}, {1, 2}}]UpperTriangularMatrixQ[%]HessenbergDecompositionは主対角の下の対角を加えた上三角行列を返す:
{p, h} = HessenbergDecomposition[RandomReal[1., {5, 5}]];UpperTriangularMatrixQ[h, -1]行列は,その転置が対角要素
から始まる下三角行列であるときかつそのときに限り,対角要素
から始まる上三角行列である:
k = RandomInteger[{-2, 2}];
m = UpperTriangularize[RandomReal[1., {5, 5}], k];UpperTriangularMatrixQ[m, k] == LowerTriangularMatrixQ[Transpose[m], -k]テキスト
Wolfram Research (2019), UpperTriangularMatrixQ, Wolfram言語関数, https://reference.wolfram.com/language/ref/UpperTriangularMatrixQ.html.
CMS
Wolfram Language. 2019. "UpperTriangularMatrixQ." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/UpperTriangularMatrixQ.html.
APA
Wolfram Language. (2019). UpperTriangularMatrixQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/UpperTriangularMatrixQ.html
BibTeX
@misc{reference.wolfram_2026_uppertriangularmatrixq, author="Wolfram Research", title="{UpperTriangularMatrixQ}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/UpperTriangularMatrixQ.html}", note=[Accessed: 03-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_uppertriangularmatrixq, organization={Wolfram Research}, title={UpperTriangularMatrixQ}, year={2019}, url={https://reference.wolfram.com/language/ref/UpperTriangularMatrixQ.html}, note=[Accessed: 03-November-2026]}