*To*: mathgroup@smc.vnet.net*Subject*: [mg10289] Re: Eigenvectors*From*: siegman@ee.stanford.edu (AES)*Date*: Sat, 3 Jan 1998 23:24:19 -0500*Organization*: Stanford University*References*: <68l3q8$mfu@smc.vnet.net>

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