Re: preserving order of eigenvalues in a matrix diagonalization

*To*: mathgroup at smc.vnet.net*Subject*: [mg61826] Re: [mg61819] preserving order of eigenvalues in a matrix diagonalization*From*: Pratik Desai <pdesai1 at umbc.edu>*Date*: Mon, 31 Oct 2005 06:10:03 -0500 (EST)*References*: <200510310617.BAA28560@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

grub_snuffler at yahoo.com wrote: >I'm trying to diagonalize a matrix in Mathematica, but I need the eigenvalues >to stay in order. So, for instance, for the initial matrix m, > >m = {{2, 0}, {0, 3}} > >some function, say "diagonalize[m]", should just return m. > >If I use > >diagonalize[m_] := Transpose[Eigenvectors[m]].m.Eigenvectors[m] > >it returns {{3, 0}, {0, 2}}. I can certainly write my own routine by >hand, but I thought I'd ask if there's an easy way to ask Mathematica to >preserve the order. > > Unless you sort the eigenvectors to match the sort you want in your eigenvectors, I don't think there is functionality in mathematica which allows to do what you want. You can always use something like diagonalmatrix[m_?MatrixQ] := DiagonalMatrix[Sort[Part[Eigensystem[m], 1]]] which I don't think the solution you are looking for Hope this helps, Pratik . >Thanks, >john > > > -- Pratik Desai Graduate Student UMBC Department of Mechanical Engineering Phone: 410 455 8134

**References**:**preserving order of eigenvalues in a matrix diagonalization***From:*grub_snuffler@yahoo.com