Re: Eigensystem[hermitianMatrix]sometimes returns
- To: mathgroup at smc.vnet.net
- Subject: [mg96916] Re: Eigensystem[hermitianMatrix]sometimes returns
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Fri, 27 Feb 2009 06:12:38 -0500 (EST)
- Organization: Uni Leipzig
- References: <200902250904.EAA15732@smc.vnet.net> <go63gk$pn2$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
Hi,
you want to
Normalize/@Eigenvalues[m]
and not the eigenvectors ??
Regards
Jens
BTW: What helps the normalization when the
vectors are not orthogonal ?
DrMajorBob wrote:
> 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
>>
>>
>
>
>
- References:
- Eigensystem[hermitianMatrix] sometimes returns non-orthonormal
- From: Yen Lee Loh <yloh@mps.ohio-state.edu>
- Eigensystem[hermitianMatrix] sometimes returns non-orthonormal