Nonorthogonal Eigenvectors

*To*: mathgroup at smc.vnet.net*Subject*: [mg116374] Nonorthogonal Eigenvectors*From*: "Kevin J. McCann" <kjm at KevinMcCann.com>*Date*: Sat, 12 Feb 2011 05:19:39 -0500 (EST)

I have seen some threads from the past on this, but never got a satisfactory answer. Suppose I have an exact matrix A: A = {{1, 0, 0, 0, 2}, {0, 16, 0, 0, 0}, {0, 0, 9, 0, 0}, {0, 0, 0, 0, 0}, {2, 0, 0, 0, 4}}; P = Eigenvectors[A] produces the following {{0,1,0,0,0},{0,0,1,0,0},{1,0,0,0,2},{-2,0,0,0,1},{0,0,0,1,0}} which is not an unitary matrix, although the vectors are orthogonal, just not normal, i.e. Transpose[P].P is not the identity matrix. However, if I make A numeric: nA = A//N then nP = Eigenvectors[nA] produces {{0., 1., 0., 0., 0.}, {0., 0., 1., 0., 0.}, {0.447214, 0., 0., 0., 0.894427}, {-0.894427, 0., 0., 0., 0.447214}, {0., 0., 0., -1., 0.}} and Transpose[nP].nP is the identity matrix. I do not understand why making the matrix inexact produces the result that I would expect, but when the matrix is exact it doesn't. Also, I don't think the inconsistency is a useful thing. Any ideas why someone decided to do it this way? Kevin

**Follow-Ups**:**Re: Nonorthogonal Eigenvectors***From:*Leonid Shifrin <lshifr@gmail.com>