gives True if m is diagonalizable, and False otherwise.

Details and Options

  • A matrix m is diagonalizable if it is similar to a diagonal matrix. That is, if there is a nonsingular matrix such that is diagonal.
  • DiagonalizableMatrixQ works for symbolic as well as numerical matrices.
  • For approximate matrices, the option Tolerance->t can be used to indicate that the determinant of eigenvectors v of the matrix m satisfying Abs[Det[v]]t is taken to be zero, which means that the eigenvectors v are linearly dependent and the matrix m is not diagonalizable.
  • The option Tolerance has Automatic as its default value.


open allclose all

Basic Examples  (1)

Test if a matrix is diagonalizable:

Scope  (6)

A real matrix:

A complex matrix:

A sparse matrix:

An approximate MachinePrecision matrix:

An approximate arbitrary-precision matrix:

A matrix with exact numeric entries:

A matrix with symbolic entries:

Options  (1)

Tolerance  (1)

Generate a real-valued non-diagonalizable Jordan block matrix with some random perturbation of order :

q is diagonalizable:

But the eigenvectors v are numerically linearly dependent:

Adjust the option Tolerance so that the linear dependence of the eigenvectors is detected:

Applications  (1)

If a matrix is diagonalizable, it can be decomposed as , where is nonsingular and is diagonal. This can be used to compute a matrix function by using its power series represention as . Use this method to compute several different matrix functions:

Compute MatrixExp of m:

Compute matrix Cosh[x] function of m:

Properties & Relations  (7)

Any symmetric matrix is diagonalizable:

Any Hermitian matrix is diagonalizable:

Any normal matrix is diagonalizable:

A Jordan matrix with × Jordan blocks, , is defective (non-diagonalizable):

Any diagonalizable matrix can be represented as , where is diagonal:

The decomposition is given by Eigensystem:

Check the relation:

A diagonalizable matrix has no Jordan blocks:

An × matrix is nilpotent if for some :

Any non-diagonalizable matrix m can be decomposed into a sum of a diagonalizable matrix d and nilpotent matrix q:

Additionally, the matrices d and q commute:

Introduced in 2014