BlockUpperTriangularMatrix[umat]
ブロック上三角行列 umat を構造化配列として表す.
BlockUpperTriangularMatrix
BlockUpperTriangularMatrix[umat]
ブロック上三角行列 umat を構造化配列として表す.
詳細とオプション
- ブロック上三角行列は,構造化配列として表されているときは効率的に格納でき,DetやLinearSolveを含む操作がより効率的にできる.
- ブロック上三角行列は上三角行列を一般化する.ここで,上三角行列の対角上あるいはその上にあるスカラー要素は適切な次元の行列で置換される.
- BlockUpperTriangularMatrix sa については,sa["prop"]で以下の特性"prop"にアクセスできる.
-
"Matrix" 完全配列として表されたブロック上三角行列 "BlockSizes" 対角ブロックのサイズ "RowPermutation" 置換リストとして表された行の置換 "ColumnPermutation" 置換リストとして表された列の置換 "Properties" サポートされる特性のリスト "Structure" 構造化配列の型 "StructuredData" 構造化配列に格納された内部データ "StructuredAlgorithms" 構造化配列に対する特別なメソッドを持つ関数のリスト "Summary" Datasetとして表された要約情報 - Normal[BlockUpperTriangularMatrix[…]]はブロック上三角行列を通常のリストとして与える.
- BlockUpperTriangularMatrix[…,TargetStructure->struct]は,ブロック上三角行列を struct が指定した形式で返す.次は,使用可能な設定である.
-
Automatic 返す表現を自動選択する "Dense" 行列を密な行列として表す "Sparse" 行列を疎な配列として表す "Structured" 行列を構造化配列として表す - BlockUpperTriangularMatrix[…,TargetStructureAutomatic]はBlockUpperTriangularMatrix[…,TargetStructure"Structured"]に等しい.
例題
すべて開く すべて閉じる例 (2)
bu = BlockUpperTriangularMatrix[{{2, 1, 4, 3}, {1, 2, 3, 4}, {0, 0, 2, 1}, {0, 0, 1, 2}}]MatrixForm[bu]NormalはBlockUpperTriangularMatrixをその通常表現に変換する:
Normal[bu]bu = BlockUpperTriangularMatrix[(| | | | |
| --- | --- | --- | --- |
| 𝒶11 | 𝒶12 | 𝒷11 | 𝒷12 |
| 𝒶21 | 𝒶22 | 𝒷21 | 𝒷22 |
| 0 | 0 | 𝒹11 | 𝒹12 |
| 0 | 0 | 𝒹21 | 𝒹22 |)]MatrixForm[bu]Det[bu]スコープ (4)
BlockUpperTriangularMatrixオブジェクトは配列についての情報を与える特性を持つ:
bu = BlockUpperTriangularMatrix[(| | | | | | |
| -- | -- | -- | -- | -- | -- |
| 11 | 12 | 13 | 14 | 15 | 16 |
| 21 | 22 | 23 | 24 | 25 | 26 |
| 31 | 32 | 33 | 34 | 35 | 36 |
| 0 | 0 | 0 | 44 | 45 | 46 |
| 0 | 0 | 0 | 0 | 55 | 56 |
| 0 | 0 | 0 | 0 | 65 | 66 |)]bu["Properties"]bu["BlockSizes"]"RowPermutation"特性はもとの行列に施された行置換を符号化する:
bu["RowPermutation"]"ColumnPermutation"特性はもとの行列に施された列置換を符号化する:
bu["ColumnPermutation"]"Summary"特性は配列についての情報の簡単な要約を与える:
bu["Summary"]"StructuredAlgorithms"特性は表現の構造を使う関数のリストを与える:
bu["StructuredAlgorithms"]bn = IconizedObject[«large block upper triangular matrix»];
bu = BlockUpperTriangularMatrix[bn];AbsoluteTiming[Det[bn]]AbsoluteTiming[Det[bu]]AbsoluteTiming[Eigenvalues[bn];]AbsoluteTiming[Eigenvalues[bu];]構造化アルゴリズムは,適切な場合は別のBlockUpperTriangularMatrixオブジェクトを返す:
bu = BlockUpperTriangularMatrix[{{-1, 3, 3, 1, 3, 1}, {3, -3, -2, 0, -1, -1}, {0, 0, 0, -1, 0, 2}, {0, 0, 0, -2, -1, -3}, {0, 0, 0, -3, -1, 1}, {0, 0, 0, -1, -1, 0}}]bt = Transpose[bu]bu.Transpose[bu]BlockUpperTriangularMatrixの要素は入力の非零要素の精度にされる.
BlockUpperTriangularMatrix[(| | | | |
| -- | - | - | -- |
| -3 | 4 | 1 | 1 |
| -1 | 3 | 1 | 1 |
| 0 | 0 | 1 | 0 |
| 0 | 0 | 4 | -2 |)]//MatrixFormBlockUpperTriangularMatrix[N[(| | | | |
| -- | - | - | -- |
| -3 | 4 | 1 | 1 |
| -1 | 3 | 1 | 1 |
| 0 | 0 | 1 | 0 |
| 0 | 0 | 4 | -2 |)]]//MatrixFormBlockUpperTriangularMatrix[N[(| | | | |
| -- | - | - | -- |
| -3 | 4 | 1 | 1 |
| -1 | 3 | 1 | 1 |
| 0 | 0 | 1 | 0 |
| 0 | 0 | 4 | -2 |), 20]]//MatrixForm一般化と拡張 (1)
オプション (1)
TargetStructure (1)
BlockUpperTriangularMatrix[(| | | |
| - | - | - |
| 1 | 2 | 3 |
| 0 | 4 | 5 |
| 0 | 6 | 7 |), TargetStructure -> "Dense"]BlockUpperTriangularMatrix[(| | | |
| - | - | - |
| 1 | 2 | 3 |
| 0 | 4 | 5 |
| 0 | 6 | 7 |), TargetStructure -> "Structured"]BlockUpperTriangularMatrix[(| | | |
| - | - | - |
| 1 | 2 | 3 |
| 0 | 4 | 5 |
| 0 | 6 | 7 |), TargetStructure -> "Sparse"]アプリケーション (1)
上三角行列と一般的な正方行列のクロネッカー(Kronecker)積はブロック上三角行列である:
BlockUpperTriangularMatrix[KroneckerProduct[(| | | |
| --- | --- | --- |
| u11 | u12 | u13 |
| 0 | u22 | u23 |
| 0 | 0 | u33 |), (| | | | |
| ----- | ----- | ----- | ----- |
| C[11] | C[12] | C[13] | C[14] |
| C[21] | C[22] | C[23] | C[24] |
| C[31] | C[32] | C[33] | C[34] |
| C[41] | C[42] | C[43] | C[44] |)]]MatrixForm[%]特性と関係 (2)
上三角行列は1×1対角ブロックを持つブロック上三角行列として扱われる:
bt = BlockUpperTriangularMatrix[{{1, 2, 3}, {0, 4, 5}, {0, 0, 6}}]bt["BlockSizes"]BlockUpperTriangularMatrixは,与えられた行列がブロック三角形式に変換できない場合は行列それ自体を返す:
BlockUpperTriangularMatrix[HilbertMatrix[3]]関連するガイド
-
▪
- 構造化配列
テキスト
Wolfram Research (2022), BlockUpperTriangularMatrix, Wolfram言語関数, https://reference.wolfram.com/language/ref/BlockUpperTriangularMatrix.html (2023年に更新).
CMS
Wolfram Language. 2022. "BlockUpperTriangularMatrix." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/BlockUpperTriangularMatrix.html.
APA
Wolfram Language. (2022). BlockUpperTriangularMatrix. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BlockUpperTriangularMatrix.html
BibTeX
@misc{reference.wolfram_2026_blockuppertriangularmatrix, author="Wolfram Research", title="{BlockUpperTriangularMatrix}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/BlockUpperTriangularMatrix.html}", note=[Accessed: 12-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_blockuppertriangularmatrix, organization={Wolfram Research}, title={BlockUpperTriangularMatrix}, year={2023}, url={https://reference.wolfram.com/language/ref/BlockUpperTriangularMatrix.html}, note=[Accessed: 12-September-2026]}