MATLAB Function Reference  cdf2rdf

Convert complex diagonal form to real block diagonal form

Syntax

• ```[V`,`D] = cdf2rdf(V`,`D)
```

Description

If the eigensystem `[V,D] = eig(X)` has complex eigenvalues appearing in complex-conjugate pairs, `cdf2rdf` transforms the system so `D` is in real diagonal form, with 2-by-2 real blocks along the diagonal replacing the complex pairs originally there. The eigenvectors are transformed so that

• ```X = V*D/V
```

continues to hold. The individual columns of `V` are no longer eigenvectors, but each pair of vectors associated with a 2-by-2 block in `D` spans the corresponding invariant vectors.

Examples

The matrix

• ```X =
1     2     3
0     4     5
0    -5     4
```

has a pair of complex eigenvalues.

• ```[V,D] = eig(X)

V =

1.0000      -0.0191 - 0.4002i     -0.0191 + 0.4002i
0            0 - 0.6479i           0 + 0.6479i
0       0.6479                0.6479

D =

1.0000            0                     0
0       4.0000 + 5.0000i           0
0            0                4.0000 - 5.0000i
```

Converting this to real block diagonal form produces

• ```[V,D] = cdf2rdf(V,D)

V =

1.0000    -0.0191     -0.4002
0          0     -0.6479
0     0.6479           0

D =

1.0000          0           0
0     4.0000      5.0000
0    -5.0000      4.0000
```

Algorithm

The real diagonal form for the eigenvalues is obtained from the complex form using a specially constructed similarity transformation.

See Also

`eig`, `rsf2csf`

© 1994-2005 The MathWorks, Inc.