Re: Nonorthogonal Eigenvectors

*To*: mathgroup at smc.vnet.net*Subject*: [mg116403] Re: Nonorthogonal Eigenvectors*From*: Daniel Lichtblau <danl at wolfram.com>*Date*: Sun, 13 Feb 2011 05:50:01 -0500 (EST)

----- Original Message ----- > From: "Kevin J. McCann" <kjm at KevinMcCann.com> > To: mathgroup at smc.vnet.net > Sent: Saturday, February 12, 2011 4:19:39 AM > Subject: [mg116374] Nonorthogonal Eigenvectors > 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 Normalizing eigenvectors is not all that hard, I guess. But what would be the point of introducing radicals or Root objects where they are not needed? In my view, returning the "simplest" form is the one to use(not that we always know how to find it). If the vector can be cast as integer valued, then simplest would be integers with gcd equal to 1. I will mention here that exact and corresponding approximate numeric computations tend to be two very different beasts. Daniel Lichtblau Wolfram Research