CoreNilpotentDecomposition
✖
CoreNilpotentDecomposition
returns the core-nilpotent decomposition according to the specified format.
Details and Options

- CoreNilpotentDecomposition[m] returns a list of matrices {t,c,n} where the core matrix c is nonsingular and the matrix n is nilpotent. »
- The matrix m is related to its core-nilpotent decomposition by
.
- For the nilpotent matrix n, there exists a non-negative integer
(the index of the matrix m) such that MatrixPower[n,p] is the zero matrix.
- The core-nilpotent decomposition of a matrix can be used for solving systems of linear differential-algebraic (or difference-algebraic) equations with constant coefficients.
- If either the core or nilpotent parts are trivial, an empty list {} is returned for the trivial part. »
- CoreNilpotentDecomposition[m] is equivalent to CoreNilpotentDecomposition[m,"SplitBlocks"].
- CoreNilpotentDecomposition[m,"BlockDiagonal"] returns a list of matrices {t,d} where
.
- With the setting TargetStructure->"Dense", CoreNilpotentDecomposition[m,"BlockDiagonal"] returns a list of matrices {t,d} where
.
- With the setting TargetStructure->"Structured", the matrix
in the list {t,d} is represented as a BlockDiagonalMatrix.
Examples
open allclose allBasic Examples (2)Summary of the most common use cases
Compute the core-nilpotent decomposition of a square matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-j21imz


https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-r2mdvh

Core-nilpotent decomposition of a 4×4 matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-gcxuan


https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-d4gmnh

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-ivxx5j

Scope (12)Survey of the scope of standard use cases
Basic Uses (7)
Core-nilpotent decomposition of a machine-precision matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-drigy

Core-nilpotent decomposition of a complex matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-y5nohf

Core-nilpotent decomposition of an exact matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-pej2pi

Core-nilpotent decomposition of an arbitrary-precision matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-p8sjhl

Core-nilpotent decomposition of a symbolic matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-g6mfyb

The decomposition of large machine-precision matrices is efficient:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-9q7ao

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-g9kkuf

CoreNilpotentDecomposition[m] is equivalent to CoreNilpotentDecomposition[m,"SplitBlocks"], where the core and nilpotent parts are kept separate:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-9avia

CoreNilpotentDecomposition[m,"BlockDiagonal"] brings the core and nilpotent parts together in a block diagonal matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-b1ugcg

Special Matrices (5)
Core-nilpotent decomposition of a sparse matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-6w5pwg


https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-bfz1s5

Core-nilpotent decomposition of a structured matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-0osegx


https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-e7c7qh

The identity matrix has a trivial core-nilpotent decomposition:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-ksopv

Core-nilpotent decomposition of a Hilbert matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-f9sk7

Core-nilpotent decomposition of a strictly upper triangular matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-lvpvnc

Options (1)Common values & functionality for each option
TargetStructure (1)
With TargetStructure->"Dense", CoreNilpotentDecomposition[m,"BlockDiagonal"] returns a list of two matrices:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-my3g3t

The second matrix is a block diagonal matrix consisting of the core and nilpotent parts:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-d2t9oo

With TargetStructure->"Structured", the second matrix is represented as a BlockDiagonalMatrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-b6at6s

Applications (2)Sample problems that can be solved with this function
Solve the matrix differential equation ,
with singular coefficients:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-g0i7it
Both and
are singular, so the equation cannot be put in the standard form
:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-14lo97

Compute the core-nilpotent decomposition of the solution to :

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-kgno9z


https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-pu0upw

The solution is then , where
is the solution to
:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-ee9oys

Compare with the result given by DSolveValue:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-po1t98

Find the general solution of the matrix difference equation with singular coefficient matrix
:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-diiak9

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-hzi8ti

Using the core-nilpotent decomposition , let
:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-rg5fa1

The solution is , where
is an arbitrary vector:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-pcgmp7


https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-g4jgij

Properties & Relations (4)Properties of the function, and connections to other functions
CoreNilpotentDecomposition returns a triple {t,c,n}:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-cebs


https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-idcqgg

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-k17oj


https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-bjhox0


https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-du4rdj


https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-spdbh

The original matrix m can be expressed in terms of its core-nilpotent decomposition:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-cegbmm

The core part of the decomposition for an invertible matrix is equal to the matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-5166l

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-cf9ub6

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-l8esu2

The nilpotent part of the decomposition is an empty list:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-coykw

The similarity matrix t is taken to be the identity matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-sdhpab

The identity expressed using BlockDiagonalMatrix holds nonetheless:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-nc89a8

The nilpotent part of the decomposition for a nilpotent matrix is equal to the matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-oqglz

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-di0ion

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-mmeno4

The core part of the decomposition is an empty list:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-c6l0u

The similarity matrix t is taken to be the identity matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-swn25i

The identity expressed using BlockDiagonalMatrix holds nonetheless:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-ystz1n

DrazinInverse can be computed with CoreNilpotentDecomposition:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-h2onym

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-skwm6p

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-jz2ks3

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-bfqowc

Possible Issues (2)Common pitfalls and unexpected behavior
The core-nilpotent decomposition is not unique:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-bhpfge

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-elxcp4

Either or
, but not both, can be equal to {}:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-2wxbns

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-cmxtmg

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-2n8x0k


https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-sg0m6c

Use BlockDiagonalMatrix to reconstruct the original matrix, since it interprets {} as a 0×0 matrix:

https://wolfram.com/xid/0tgqf2z5p9qdt8fwqlqq-xmw0ts

Wolfram Research (2021), CoreNilpotentDecomposition, Wolfram Language function, https://reference.wolfram.com/language/ref/CoreNilpotentDecomposition.html (updated 2023).
Text
Wolfram Research (2021), CoreNilpotentDecomposition, Wolfram Language function, https://reference.wolfram.com/language/ref/CoreNilpotentDecomposition.html (updated 2023).
Wolfram Research (2021), CoreNilpotentDecomposition, Wolfram Language function, https://reference.wolfram.com/language/ref/CoreNilpotentDecomposition.html (updated 2023).
CMS
Wolfram Language. 2021. "CoreNilpotentDecomposition." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/CoreNilpotentDecomposition.html.
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
Wolfram Language. (2021). CoreNilpotentDecomposition. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CoreNilpotentDecomposition.html
BibTeX
@misc{reference.wolfram_2025_corenilpotentdecomposition, author="Wolfram Research", title="{CoreNilpotentDecomposition}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/CoreNilpotentDecomposition.html}", note=[Accessed: 25-March-2025
]}
BibLaTeX
@online{reference.wolfram_2025_corenilpotentdecomposition, organization={Wolfram Research}, title={CoreNilpotentDecomposition}, year={2023}, url={https://reference.wolfram.com/language/ref/CoreNilpotentDecomposition.html}, note=[Accessed: 25-March-2025
]}