# cdf2rdf

## Purpose

Convert complex diagonal matrix to real block diagonal form.

## Synopsis

    [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` span 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.4002 - 0.0191i       0.4002 + 0.0191i
             0     0.6479                 0.6479
             0          0 + 0.6479i            0 - 0.6479i

    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.4002     -0.0191
             0     0.6479           0
             0          0      0.6479
    D =
        1     0     0
        0     4     5
        0    -5     4

## Algorithm

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

## See Also

    eig, rsf2csf

(c) Copyright 1994 by The MathWorks, Inc.