On Thursday, November 7, 2013 9:00:36 AM UTC-8, ccandide wrote:
It does have an exact expression for them. It just prints an approximation to them. The "?" is a bit of a give-away that there might be more to it than just plain floats here:
sage: v=[a for a,_,_ in A.eigenvectors_right()][0]
sage: parent(v)
Algebraic Field
sage: v.minpoly()
The reason sage decides to use this representation is because printing these things in terms of sqrt(2) quickly runs out of steam:
sage: M=matrix(5,5,[0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,-3,-1,0,0,0 ])
sage: M.eigenvectors_right()[0][0]
-1.132997565885066?
(see what you get in maple for that)
Perhaps with A=matrix(SR,[[0,1],[1,-2]]) you get an answer that looks more comfortable to you.