Next: chebcoefs()
Up: Mathematical Macros Help File
Previous: cdiag()
Contents
Usage:
eigs <- ceigen(a), REAL matrix a representing the fully complex form of
a complex Hermitian matrix A (A' = conj(A)). Result is
structure(values:vals, vectors:vecs)
|
Keywords:
complex matrices, matrices
Usage
result <- ceigen(a) computes the real eigenvalues and complex eigen-
vectors of a complex matrix A with Hermitian symmetry (A' = conj(A)),
coded in fully complex form in REAL matrix a with no MISSING elements.
result is structure(values:V, vectors:U). V is a length n vector of
eigen- values where n = nrows(a). U is a n by 2*n REAL matrix; columns
2*i-1 and 2*i contain the real and imaginary parts of the i-th complex
eigenvector of A.
Caution
When A has duplicate eigenvalues, some of the eigenvectors computed may
be linearly dependent.
Example:
Cmd> a <- cmplx(matrix(vector(8,2,2,1),2),matrix(vector(0,-3,3,0),2))
Cmd> a # 2 by 2 Hermitian symmetric complex matrix
(1,1) 8 0 2 3
(2,1) 2 -3 1 0
Cmd> eigs <- ceigen(a)
Cmd> eigs
component: values
(1) 9.5249 -0.52494
component: vectors
(1,1) -0.70598 -0.59149 -0.31138 -0.23405
(2,1) -0.37378 0.10967 0.86883 -0.30561
Cmd> cdivc(cmatmultc(a,eigs$vectors),eigs$vectors)
(1,1) 9.5249 6.4749e-16 -0.52494 -2.4739e-16
(2,1) 9.5249 -4.0029e-16 -0.52494 2.2808e-16
Cross references
See also cdivc(), cmatmultc(), eigen(), 'complex'.
Gary Oehlert
2006-01-30