Main Content

jordan

Jordan normal form (Jordan canonical form)

Description

J = jordan(A) computes the Jordan normal form of the matrix A. Because the Jordan form of a numeric matrix is sensitive to numerical errors, prefer converting numeric input to exact symbolic form.

[V,J] = jordan(A) computes the Jordan form J and the similarity transform V. The matrix V contains the generalized eigenvectors of A as columns, such that V\A*V = J.

example

Examples

collapse all

Compute the Jordan form and the similarity transform for a matrix. Because the Jordan form of a numeric matrix is sensitive to numerical errors, first convert the matrix to symbolic form by using sym.

A = [1 -3 -2;
    -1  1 -1;
     2  4  5];
A = sym(A);
[V,J] = jordan(A)
V = 

(-11-1-100201)

J = 

(210020003)

Verify that V satisfies the condition V\A*V = J by using isAlways.

cond = J == V\A*V;
tf = isAlways(cond)
tf = 3×3 logical array

   1   1   1
   1   1   1
   1   1   1

Version History

Introduced before R2006a