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.