eigenvectors in maxima



Hi everyone,

I am currently trying to wrap the eigenvector function in maxima to 
calculate eigenvectors for symbolic matrices in Sage.  I noticed in  
http://groups.google.com/group/sage-support/browse_thread/thread/4370a886918b0f14/a7578c228b204558?lnk=raot, 
that sometimes it is impossible to determine which eigenvectors go with 
which eigenvalues from the maxima eigenvectors() command.  Is there a 
workaround that I'm not seeing on the maxima side to distinguish which 
eigenvector goes with which eigenvalue?

Here are two relevant examples (I'm calling maxima from Sage in these 
examples):

sage: M = matrix(SR,4,4, [[0,1,0,0],[0,0,0,0],[0,0,2,0],[0,0,0,2]]); M

[0 1 0 0]
[0 0 0 0]
[0 0 2 0]
[0 0 0 2]
sage: M._maxima_().eigenvectors().sage()
[[[0, 2], [2, 2]], [1, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]
sage: M = matrix(SR,4,4, [[0,0,0,0],[0,0,0,0],[0,0,2,1],[0,0,0,2]]); M

[0 0 0 0]
[0 0 0 0]
[0 0 2 1]
[0 0 0 2]
sage: M._maxima_().eigenvectors().sage()
[[[0, 2], [2, 2]], [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0]]

I believe MMA helps you by making sure that the list of eigenvectors is
exactly as long as the sum of the multiplicities by inserting zero
vectors where needed (in other words, you can just count multiplicities
to get a generating set for the eigenspace).  The Sage
eigenvectors_right command avoids the problem by returning a set of
eigenvectors associated with each eigenvalue.

Thanks,

Jason


-- 
Jason Grout