正方行列 m のコアベキ零分解を与える.
CoreNilpotentDecomposition[m,format]
指定の format に従ってコアベキ零分解を返す.
CoreNilpotentDecomposition
正方行列 m のコアベキ零分解を与える.
CoreNilpotentDecomposition[m,format]
指定の format に従ってコアベキ零分解を返す.
詳細とオプション
- CoreNilpotentDecomposition[m]は行列のリスト{t,c,n}を返す.ただし,コア行列 c は非特異行列で行列 n はベキ零行列である. »
- 行列 m はそのコアベキ零分解と
によって関係している. - ベキ零行列 n について,MatrixPower[n,p]が零行列となるような非負の整数
(行列 m の指標)が存在する. - 行列のコアベキ零分解を使って,定数係数を持つ線形微分代数(あるいは差分代数)方程式の系を解くことができる.
- コア部分またはベキ零部分が自明のときは,自明の部分に対して空リスト{}が返される. »
- CoreNilpotentDecomposition[m]はCoreNilpotentDecomposition[m,"SplitBlocks"]に等しい.
- CoreNilpotentDecomposition[m,"BlockDiagonal"]は行列{t,d}のリストを返す.ただし,
である. - TargetStructure->"Dense"の設定のとき,CoreNilpotentDecomposition[m,"BlockDiagonal"]は行列のリスト{t,d}を返す.ただし,
である. - TargetStructure->"Structured"の設定のとき,リスト{t,d}の行列
はBlockDiagonalMatrixとして表される. - CoreNilpotentDecompositionは次のオプションを取る.
-
Method Automatic 使用するメソッド TargetStructure Automatic 返される行列の構造 Tolerance Automatic 計算で許される許容範囲
例題
すべて開く すべて閉じる例 (2)
CoreNilpotentDecomposition[(| | | |
| - | - | - |
| 1 | 2 | 0 |
| 5 | 1 | 3 |
| 0 | 0 | 0 |)]MatrixForm /@ %(m = {{-1, 0, 3, 2}, {2, 3, 3, -1}, {0, 0, -2, -1}, {0, 0, 4, 2}})//MatrixForm{t, c, n} = CoreNilpotentDecomposition[m];m == t.BlockDiagonalMatrix[{c, n}].Inverse[t]スコープ (12)
基本的な用法 (7)
CoreNilpotentDecomposition[{{0.2, -0.32}, {0.1, -0.16}}]CoreNilpotentDecomposition[{{-4 + 6 I, 8 - 10 I, 2}, {-2 + 3 I, 4 - 5 I, 1}, {1, -1, 1}}]CoreNilpotentDecomposition[{{14, -22, 2}, {7, -11, 1}, {0, 0, 0}}]CoreNilpotentDecomposition[RandomReal[4, {2, 2}, WorkingPrecision -> 9]]CoreNilpotentDecomposition[{{a, a, 1}, {0, 0, 0}, {2, 3, -1}}]//Simplifyr = RandomReal[{0, 1}, {500, 500}];AbsoluteTiming[CoreNilpotentDecomposition[r];]CoreNilpotentDecomposition[m]はCoreNilpotentDecomposition[m,"SplitBlocks"]に等しい.ただし,コア部分とベキ零部分は分離されている:
CoreNilpotentDecomposition[{{-6, -3, -4, 2}, {0, -1, 0, 1}, {9, 6, 6, -2}, {0, 4, 0, 1}}, "SplitBlocks"]CoreNilpotentDecomposition[m,"BlockDiagonal"]は,ブロック対角行列中にコア部分とベキ零部分をまとめる:
CoreNilpotentDecomposition[{{-6, -3, -4, 2}, {0, -1, 0, 1}, {9, 6, 6, -2}, {0, 4, 0, 1}}, "BlockDiagonal"]特殊行列 (5)
SparseArray[{{1, 3} -> 1, {2, 2} -> 2, {3, 1} -> 3}, {4, 4}]CoreNilpotentDecomposition[%]SymmetrizedArray[{{1, 1} -> 3, {2, 2} -> 0, {3, 1} -> -5}, {3, 3}, Symmetric[All]]CoreNilpotentDecomposition[%]CoreNilpotentDecomposition[IdentityMatrix[3]]CoreNilpotentDecomposition[HilbertMatrix[3]]CoreNilpotentDecomposition[(| | | |
| - | - | - |
| 0 | a | b |
| 0 | 0 | c |
| 0 | 0 | 0 |)]オプション (1)
TargetStructure (1)
TargetStructure->"Dense"のとき,CoreNilpotentDecomposition[m,"BlockDiagonal"]は2つの行列のリストを返す:
{t, b} = CoreNilpotentDecomposition[(| | | | |
| -- | -- | -- | -- |
| -6 | -3 | -4 | 2 |
| 0 | -1 | 0 | 1 |
| 9 | 6 | 6 | -2 |
| 0 | 4 | 0 | 1 |), "BlockDiagonal", TargetStructure -> "Dense"]2番目の行列は,コア部分とベキ零部分からなるブロック対角行列である:
MatrixForm[b]TargetStructure->"Structured"のとき,2番目の行列はBlockDiagonalMatrixとして表される:
CoreNilpotentDecomposition[(| | | | |
| -- | -- | -- | -- |
| -6 | -3 | -4 | 2 |
| 0 | -1 | 0 | 1 |
| 9 | 6 | 6 | -2 |
| 0 | 4 | 0 | 1 |), "BlockDiagonal", TargetStructure -> "Structured"]アプリケーション (2)
a = (| | | |
| -- | - | -- |
| 1 | 0 | -2 |
| -1 | 0 | 2 |
| 2 | 3 | 2 |);b = (| | | |
| --- | --- | --- |
| 0 | 1 | 2 |
| -27 | -22 | -17 |
| 18 | 14 | 10 |);v = {-1, -8, 13};
と
はどちらも特異なので,この方程式は標準形
にすることはできない:
{Det[a], Det[b]}{s, c, n} = CoreNilpotentDecomposition[LinearSolve[a + b, a]]d = s.PadRight[Inverse[c], Dimensions[a]].Inverse[s]MatrixExp[-d.LinearSolve[a + b, b]t].v//FullSimplifyDSolveValueの結果と比較する:
DSolveValue[{a.y'[t] + b.y[t] == 0, y[0] == v}, y[t]∈Vectors[3], t]m = (| | | |
| -- | -- | -- |
| 4 | 2 | -2 |
| -8 | -3 | 1 |
| -6 | -2 | 0 |);Det[m]{t, c, n} = CoreNilpotentDecomposition[m];
d = t.PadRight[Inverse[c], Dimensions[m]].Inverse[t]x[k_] = Simplify[MatrixPower[d, k + 1].m.{C[1], C[2], C[3]}, k > 0]m.x[k + 1] == x[k]//Simplify特性と関係 (4)
CoreNilpotentDecompositionはトリプル{t,c,n}を返す:
(m = {{-6, -3, -4, 2}, {0, -1, 0, 1}, {9, 6, 6, -2}, {0, 4, 0, 1}})//MatrixForm{t, c, n} = CoreNilpotentDecomposition[m];c//MatrixFormDet[c] != 0nMatrixPower[n, 2]もとの行列 m はそのコアベキ零分解によって表すことができる:
m == t.BlockDiagonalMatrix[{c, n}].Inverse[t]m = {{3, 4}, {5, 7}};{t, c, n} = CoreNilpotentDecomposition[m];c == mnt//MatrixFormそれにもかかわらず,BlockDiagonalMatrixを使って表された恒等式は成立する:
m == t.BlockDiagonalMatrix[{c, n}].Inverse[t]m = {{2, 2, -2}, {5, 1, -3}, {1, 5, -3}};{t, c, n} = CoreNilpotentDecomposition[m];n == mct//MatrixFormそれにもかかわらず,BlockDiagonalMatrixを使って表された恒等式は成立する:
m == t.BlockDiagonalMatrix[{c, n}].Inverse[t]DrazinInverseはCoreNilpotentDecompositionで計算できる:
m = {{-6, -3, -4, 2}, {0, -1, 0, 1}, {9, 6, 6, -2}, {0, 4, 0, 1}};{t, c, n} = CoreNilpotentDecomposition[m];d = DrazinInverse[m];d === t.PadRight[Inverse[c], Dimensions[m]].Inverse[t]考えられる問題 (2)
bd = (| | | | | |
| - | - | - | -- | - |
| 2 | 1 | 0 | 0 | 0 |
| 1 | 2 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 0 | -1 | 0 |);
tm = (| | | | | |
| -- | -- | -- | -- | -- |
| 1 | -1 | 1 | 0 | 0 |
| -1 | 0 | 0 | 1 | 1 |
| 0 | 0 | -1 | 0 | -1 |
| 0 | 0 | -1 | -1 | 1 |
| 0 | 0 | 0 | 0 | -1 |);MatrixForm /@ CoreNilpotentDecomposition[tm.bd.Inverse[tm], "BlockDiagonal", TargetStructure -> "Dense"]m = {{3, 4}, {5, 7}};{t, c, n} = CoreNilpotentDecomposition[m];n === {}MatrixQ[{}]BlockDiagonalMatrixは{}を0×0行列と解釈するので,この関数を使ってもとの行列を再構築する:
BlockDiagonalMatrix[{c, n}]//Normal関連するガイド
-
▪
- 行列分解
テキスト
Wolfram Research (2021), CoreNilpotentDecomposition, Wolfram言語関数, https://reference.wolfram.com/language/ref/CoreNilpotentDecomposition.html (2023年に更新).
CMS
Wolfram Language. 2021. "CoreNilpotentDecomposition." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/CoreNilpotentDecomposition.html.
APA
Wolfram Language. (2021). CoreNilpotentDecomposition. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CoreNilpotentDecomposition.html
BibTeX
@misc{reference.wolfram_2026_corenilpotentdecomposition, author="Wolfram Research", title="{CoreNilpotentDecomposition}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/CoreNilpotentDecomposition.html}", note=[Accessed: 11-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_corenilpotentdecomposition, organization={Wolfram Research}, title={CoreNilpotentDecomposition}, year={2023}, url={https://reference.wolfram.com/language/ref/CoreNilpotentDecomposition.html}, note=[Accessed: 11-September-2026]}