Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

The Jordan canonical form (Jordan normal form) results from
attempts to convert a matrix to its diagonal form by a similarity
transformation. For a given matrix `A`

, find a nonsingular
matrix `V`

, so that `inv(V)*A*V`

,
or, more succinctly, `J = V\A*V`

, is "as close
to diagonal as possible." For almost all matrices, the Jordan
canonical form is the diagonal matrix of eigenvalues and the columns
of the transformation matrix are the eigenvectors. This always happens
if the matrix is symmetric or if it has distinct eigenvalues. Some
nonsymmetric matrices with multiple eigenvalues cannot be converted
to diagonal forms. The Jordan form has the eigenvalues on its diagonal,
but some of the superdiagonal elements are one, instead of zero. The
statement

J = jordan(A)

computes the Jordan canonical form of `A`

.
The statement

[V,J] = jordan(A)

also computes the similarity transformation where ```
J
= inv(V)*A*V
```

. The columns of `V`

are the
generalized eigenvectors of `A`

.

The Jordan form is extremely sensitive to changes. Almost any
change in `A`

causes its Jordan form to be diagonal.
This implies that `A`

must be known exactly (i.e.,
without round-off error, etc.) and makes it very difficult to compute
the Jordan form reliably with floating-point arithmetic. Thus, computing
the Jordan form with floating-point values is unreliable and not recommended.

For example, let

A = sym([12,32,66,116;-25,-76,-164,-294; 21,66,143,256;-6,-19,-41,-73])

A = [ 12, 32, 66, 116] [ -25, -76, -164, -294] [ 21, 66, 143, 256] [ -6, -19, -41, -73]

Then

[V,J] = jordan(A)

produces

V = [ 4, -2, 4, 3] [ -6, 8, -11, -8] [ 4, -7, 10, 7] [ -1, 2, -3, -2] J = [ 1, 1, 0, 0] [ 0, 1, 0, 0] [ 0, 0, 2, 1] [ 0, 0, 0, 2]

Show that `J`

and `inv(V)*A*V`

are
equal by using `isequal`

. The `isequal`

function
returns logical `1`

(`true`

) meaning
that the inputs are equal.

isequal(J, inv(V)*A*V)

ans = logical 1

From `J`

, we see that `A`

has
a double eigenvalue at 1, with a single Jordan block, and a double
eigenvalue at 2, also with a single Jordan block. The matrix has only
two eigenvectors, `V(:,1)`

and `V(:,3)`

.
They satisfy

A*V(:,1) = 1*V(:,1) A*V(:,3) = 2*V(:,3)

The other two columns of `V`

are generalized
eigenvectors of grade 2. They satisfy

A*V(:,2) = 1*V(:,2) + V(:,1) A*V(:,4) = 2*V(:,4) + V(:,3)

In mathematical notation, with `v`

_{j} = `v(:,j)`

,
the columns of `V`

and eigenvalues satisfy the relationships

$$(A-{\lambda}_{1}I){v}_{2}={v}_{1}$$

$$(A-{\lambda}_{2}I){v}_{4}={v}_{3}.$$

Was this topic helpful?