Next: chebcoefs() Up: Mathematical Macros Help File Previous: cdiag()   Contents

ceigen()

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