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 +- bi becomes 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

See also

eig rsf2csf schur expm