MathGroup Archive 1998

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

Search the Archive

Re: Eigenvectors



In article <68l3q8$mfu@smc.vnet.net>, David Djajaputra
<dd4b@virginia.edu> wrote:

> Is there a simple command that can give me the <b>normalized</b>
> eigenvectors
> of a hermitian matrix? Or the unitary matrix that diagonalizes it?
> 
> Thanks.
> 
> David

So far as I can see the eigenvectors returned by Mathematica 3.0 *are*
normalized.

Given a (square) matrix m whose eigenvectors are to be u_n with
eigenvalues g_n, try

   u = Transpose[Eigenvectors[m]];  u // MatrixForm

(The eigenvectors  u_n  will in the *columns* of the matrix u)

   uDag = Transpose[Conjugate[u]]

(Calculates the hermitian adjoint of u; complex-conjugated eigenvectors
are in the *rows* of uDag)

   g = DiagonalMatrix[Eigenvalues[m]]

(The eigenvalues of  m  are on the diagonal of g)

   uTest = m . u - u . g ;  utest // MatrixForm // Chop

(A test that "m u = gamma u"; uTest should be all zeros.)

   uNorm = uDag . u ; uNorm // MatrixForm

(The dot products of the eigenvectors are the diagonal elements of
uNorm, and should be all 1.'s; if the matrix m is hermitian, the
off-diagonal elements should be 0, otherwise not.)

   --AES



  • Prev by Date: Re: Making multiple plots
  • Next by Date: ANNOUNCE: Math::ematica 1.100 - Perl talks to Mathematica
  • Prev by thread: Re: Eigenvectors
  • Next by thread: Re: a problem applying Rule