MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

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

>>

>>

> 

> 

> 




  • Prev by Date: Re: Eigensystem[hermitianMatrix]sometimes returns
  • Next by Date: Re: Re: Eigensystem sometimes returns
  • Previous by thread: Re: Eigensystem[hermitianMatrix]sometimes returns
  • Next by thread: Re: Re: Eigensystem sometimes returns