Eigensystem Misbehavior
- To: mathgroup at yoda.physics.unc.edu
- Subject: Eigensystem Misbehavior
- From: Mark E. Kotanchek <mek at guinan.psu.edu>
- Date: Fri, 8 Oct 93 11:44:17 -0400
Hello,
I've happened across some disturbing (and show-stopping) behavior of Mma 2.2
running on my NeXTstation. The problem is that the eigenvector decomposition does
not seem to work! The behavior I expect is verified with MATLAB 3.5 running on a
Powerbook 170 so unless there is something embarrassingly obvious which I've
missed, it would appear that Mma is embarrassingly wrong....
Problems with Mathematica's Eigensystem Function
Given a complex-valued Hermitian matrix, we should have orthogonal eigenvectors and
real-valued eigenvalues. Here we build a Hermitian matrix and compute its
eigendecomposition.
In[60]:=
matrix = Table[Random[] + I Random[],{3},{3}]; (* non-Hermitian *)
R = matrix.Conjugate[Transpose[matrix]]; (* Hermitian *)
{lambda,V} = Eigensystem[R]; (* eigendecomposition *)
A = DiagonalMatrix[lambda]; (* diagonal matrix of eigenvalues *)
Now, due to R being Hermitian (complex-conjuate symmetric), the eigenvectors should
be orthogonal. This, is true in Mma as well as in MATLAB:
In[68]:=
V.Conjugate[Transpose[V]];
Conjugate[Transpose[V]].V // Chop // MatrixForm
Out[69]//MatrixForm=
1. 0 0
0 1. 0
0 0 1.
However, since the eigenvalues are defined as solving R.V = V.A, this should imply
that A = V'.R.V where the apostrophe denotes the Hermitian transpose. (Since V'.V =
V.V' = I where I is the identity matrix.) Alas, it would appear that Mathematica
has managed to decouple the eigenvalues and eigenvectors since the following
operation does not yield a diagonal matrix
In[76]:=
Conjugate[Transpose[V]].R.V //Chop // MatrixForm
Out[76]//MatrixForm=
1.85539 2.32337 - 0.144524 I -0.963508 -0.317202 I
2.32337 + 0.144524 I 3.06844 -1.24019 - 0.626869 I
-0.963508 + 0.317202 I -1.24019 + 0.626869 I 0.787197
Now R is clearly Hermitian,
In[73]:=
R // Chop // MatrixForm
Out[73]//MatrixForm=
1.45597 1.46701 - 0.202553 I 1.72782 - 0.074807 I
1.46701 + 0.202553 I 1.72343 2.04424 + 0.0709862 I
1.72782 + 0.074807 I 2.04424 - 0.0709862 I 2.53162
I would be surprised at this late stage if Mathematica couldn't handle a simple
task like eigenvector decompositions properly; however, from these results, I would
appear I am too optimistic.
Any ideas as to what's wrong? I sure hope its me!
Mark.
---
Mark Kotanchek
Guidance & Control Dept - 363 ASB
Applied Research Lab/Penn State
P.O. Box 30
State College, PA 16804
e-mail: mek at guinan.psu.edu (NeXTmail)
TEL: (814)863-0682
FAX: (814)863-7843