> > > > Dima > > > If you are talking about vector spaces over a field, what makes sense > > is to consider only the eigenvalues that lie in that field. If you > > talk about plain matrices, that's another stuff (the same matrix may > > represent an endomorphism of different vector spaces). But considering > > that in sage the matrices have a base ring, i don't consider the idea > > of taking the eigenvalues in that same base ring to be stupid. > > Given that we talk about > A = matrix([[0,-1,0,0],[1,0,0,0],[0,0,0,-1],[0,0,1,0]]) # no field > explicitly specified > do you suggest that Sage should restrict itself to eigenvalues in Z, > which is the base ring of A?
I don't have a horse in this contest, but this matrix is nonetheless over ZZ, as witness the annoyance before we had the .rref() function: sage: A = matrix([[0,-2,0,0],[1,0,0,0],[0,0,0,-1],[0,0,1,0]]) sage: A.echelon_form() [1 0 0 0] [0 2 0 0] [0 0 1 0] [0 0 0 1] sage: A.rref() [1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1] which presumably should carry some weight. Though interestingly, sage: A.eigenvalues() [-1*I, 1*I, -1.414213562373095?*I, 1.414213562373095?*I] but sage: A.eigenspaces() [ (a0, Vector space of degree 4 and dimension 1 over Number Field in a0 with defining polynomial x^2 + 1 User basis matrix: [ 0 0 1 a0]), (a1, Vector space of degree 4 and dimension 1 over Number Field in a1 with defining polynomial x^2 + 2 User basis matrix: [ 1 a1 0 0]) ] which seems a bit inconsistent, presumably as Rob's original post was intended to address. Probably this is one of those things that has no optimal answer for all needs. - kcrisman -- To post to this group, send an email to [email protected] To unsubscribe from this group, send an email to [email protected] For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
