Re: Eigensystem[hermitianMatrix]sometimes returns
- To: mathgroup at smc.vnet.net
- Subject: [mg96929] Re: Eigensystem[hermitianMatrix]sometimes returns
- From: dh <dh at metrohm.com>
- Date: Fri, 27 Feb 2009 06:15:07 -0500 (EST)
- References: <200902250904.EAA15732@smc.vnet.net> <go63gk$pn2$1@smc.vnet.net>
Hi Bob, perhaps you may mean: Orthogonalization. Normalization does not make vectors orthogonal. But then one has to make sure that eigenvectors belonging to different eigenvalues get not mixed up. The default method "Gram-Schmidt" should work in this case, but I did not try this out. hope this helps, Daniel Daniel 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