>
> > > 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

Reply via email to