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

• Prev by Date: Integrate memory usage in 1.2 vs. 2.x
• Next by Date: Integration failure
• Previous by thread: Integrate memory usage in 1.2 vs. 2.x
• Next by thread: Re: Eigensystem Misbehavior