生成方阵 m 的核-幂零分解.
CoreNilpotentDecomposition[m,format]
根据指定 format 返回核心-零分解.
CoreNilpotentDecomposition
生成方阵 m 的核-幂零分解.
CoreNilpotentDecomposition[m,format]
根据指定 format 返回核心-零分解.
更多信息和选项
- CoreNilpotentDecomposition[m] 返回矩阵列表 {t,c,n},其中核心矩阵 c 是非奇异矩阵,矩阵 n 是幂零矩阵. »
- 矩阵 m 与其核-幂零分解的关系是
. - 对于幂零矩阵 n,存在一个非负整数
(矩阵 m 的索引) 使得 MatrixPower[n,p] 为零矩阵. - 矩阵的核-幂零分解可用于求解具有常系数的线性微分代数(或差分代数)方程组.
- 如果核心或幂零部分可忽略不计,则为该忽略不计的部分返回一个空列表 {}. »
- 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"] 返回两个矩阵的列表:
{t, b} = CoreNilpotentDecomposition[(| | | | |
| -- | -- | -- | -- |
| -6 | -3 | -4 | 2 |
| 0 | -1 | 0 | 1 |
| 9 | 6 | 6 | -2 |
| 0 | 4 | 0 | 1 |), "BlockDiagonal", TargetStructure -> "Dense"]MatrixForm[b]设置 TargetStructure->"Structured",第二个矩阵会以 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//FullSimplify对比 DSolveValue 给出的结果:
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 == 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]可用 CoreNilpotentDecomposition 进行计算 DrazinInverse:
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 语言. 2021. "CoreNilpotentDecomposition." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2023. https://reference.wolfram.com/language/ref/CoreNilpotentDecomposition.html.
APA
Wolfram 语言. (2021). CoreNilpotentDecomposition. Wolfram 语言与系统参考资料中心. 追溯自 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: 05-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: 05-September-2026]}