| MATLAB Function Reference | Search  Help Desk |
| cdf2rdf | Examples See Also |
Convert complex diagonal form to real block diagonal form
[VIf the eigensystem,D] = cdf2rdf(V,D)
[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/Vcontinues 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.
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
The real diagonal form for the eigenvalues is obtained from the complex form using a specially constructed similarity transformation.
eig Eigenvalues and eigenvectors
rsf2csf Convert real Schur form to complex Schur form