Re: Eigensystem[hermitianMatrix] sometimes returns
- To: mathgroup at smc.vnet.net
- Subject: [mg96857] Re: [mg96805] Eigensystem[hermitianMatrix] sometimes returns
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Thu, 26 Feb 2009 07:55:56 -0500 (EST)
- References: <200902250904.EAA15732@smc.vnet.net>
- Reply-to: drmajorbob at bigfoot.com
I suppose the simplest thing is
Normalize/@Eigenvalues[m]
or
{First@#,Normalize/@Last@#}&@Eigensystem[m]
Bobby
On Wed, 25 Feb 2009 03:04:51 -0600, Yen Lee Loh <yloh at mps.ohio-state.edu>
wrote:
> Dear Mathematica users,
>
> In Mathematica 7.0.0 (for Linux), calling Eigenvectors[H] or
> Eigensystem[H]
> for a numerical Hermitian matrix H sometimes returns eigenvectors that
> are
> not orthonormal.
> This happens when some eigenvalues are degenerate. (I can supply example
> code that illustrates the problem, if necessary.)
>
> This is not really a bug -- the documentation for Eigensystem[] doesn't
> make
> any guarantees of orthonormality -- but nevertheless it is an annoying
> part
> of Mathematica's design.
> This issue has been raised 11 years ago (
> http://forums.wolfram.com/mathgroup/archive/1998/Mar/msg00418.html ), but
> that post is corrupted! (Surely Wolfram isn't resorting to
> censorship?) I
> was hoping that in Mathematica 7 I would be able to write something like
>
> Eigensystem[H, Method->"LAPACK-ZHEEVR"]
>
> or
>
> Eigensystem[H, OrthonormalizeEigenvectors->True]
>
> but no such options seem to exist. One workaround is to apply
> Orthogonalize[] to the matrix of eigenvectors, but the documentation for
> Orthogonalize[] doesn't guarantee that the orthonormalization will only
> occur within the "degenerate subspace". So one has to resort to
> complicated
> fixes (e.g., http://arxiv.org/pdf/hep-ph/9607313 ).
> Does anyone have a simpler solution? (For example, is there an easy way
> to
> call LAPACK'S ZHEEVR routine, which guarantees orthornormal eigenvectors,
> from Mathematica?)
>
> Thanks a lot.
> Yen Lee Loh
>
>
--
DrMajorBob at longhorns.com
- References:
- Eigensystem[hermitianMatrix] sometimes returns non-orthonormal
- From: Yen Lee Loh <yloh@mps.ohio-state.edu>
- Eigensystem[hermitianMatrix] sometimes returns non-orthonormal