# jordan

Jordan normal form (Jordan canonical form)

## Syntax

``J = jordan(A)``
``[V,J] = jordan(A)``

## 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.```

example

````[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`.```

## 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 = [ -1, 1, -1] [ -1, 0, 0] [ 2, 0, 1] J = [ 2, 1, 0] [ 0, 2, 0] [ 0, 0, 3]```

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

```cond = J == V\A*V; isAlways(cond)```
```ans = 3×3 logical array 1 1 1 1 1 1 1 1 1```