cdf2rdf
Converts a complex diagonal eigendecomposition to real block-diagonal form.
Category: Mathematics > Linear Algebra
Syntax
[V, D] = cdf2rdf(V, D)
Returns real V and block-diagonal real D from the complex eigenvectors V and eigenvalue matrix D of a real matrix.
Description
A real matrix A with complex eigenvalues satisfies A*V = V*D with complex V and D. The same relation holds with real matrices if each conjugate pair is replaced by a 2-by-2 block, which is useful when complex arithmetic is undesirable, for example when solving real linear differential equations.
The new eigenvector columns are combinations (v1 + v2) and 1i*(v1 - v2) of each conjugate pair, scaled by 1/sqrt(2) in the standard convention.
Input arguments
V- Complex eigenvector matrix of a real matrix.
D- Diagonal eigenvalue matrix whose complex values come in conjugate pairs on neighbouring diagonal positions.
Output arguments
V- Real matrix of transformed eigenvectors.
D- Real matrix in which each complex pair
a +- bibecomes the 2-by-2 block[a b; -b a].
Example
One conjugate pair
V = [1 1; 1i -1i];
D = [1+2i 0; 0 1-2i];
[Vr, Dr] = cdf2rdf(V, D)
Output
Vr = 2×2
1.4142 0
0 1.4142
Dr = 2×2
1 2
-2 1