It's a bug in the eigenvalues() function in sage/matrix/matrix2.pyx. It takes the chapr poly, factors it, and for any factor of degree > 1 it constructs the root-field and then finds all the Galois conjugates of that in QQbar. The problem is that that gives all the conjugates over QQ, not just the ones over the field of definition.
A ticket will be created...but I can see a problem if the base field does not have an emebdding into QQbar (i.e. into CC) already, since then the eigenvalues are not well-defined as elements of QQbar. This will create ambiguities whenever the base field is not Galois. John On 27 February 2012 14:46, Jason Grout <jason-s...@creativetrax.com> wrote: > On 2/27/12 6:30 AM, John Cremona wrote: >> >> In 4.8, I have a 3x3 matrix T over a quadratic number field but when I >> ask for T.eigenvalues() I get a list of 6 elements of QQbar, and >> T.eigenmatrix_right() returns a pair of 6x6 matrices. >> >> Please tell me that this is a bug and not a feature! >> >> John >> >> >> >> sage: TK.parent() >> Full MatrixSpace of 3 by 3 dense matrices over Number Field in a with >> defining polynomial x^2 + 7 >> sage: TK >> [ 1 -a 2] >> [ -1 1/2*a - 1/2 -1] >> [ -1 1/2*a - 3/2 -1] >> sage: len(TK.eigenvalues()) >> 6 >> sage: TK.eigenmatrix_left()[0].parent() >> Full MatrixSpace of 6 by 6 sparse matrices over Algebraic Field >> > > > Further, look at the dimension of the eigenvector matrix: > > sage: R=QuadraticField(-7,'a') > sage: a=R.0 > sage: TK=matrix(3,[1,-a,2,-1,a/2-1/2,-1,-1,a/2-3/2,-1]) > sage: D,P=TK.eigenmatrix_left() > sage: D.parent() > > Full MatrixSpace of 6 by 6 sparse matrices over Algebraic Field > sage: P.parent() > Full MatrixSpace of 6 by 3 dense matrices over Algebraic Field > > Jason > > -- > To post to this group, send an email to sage-devel@googlegroups.com > To unsubscribe from this group, send an email to > sage-devel+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/sage-devel > URL: http://www.sagemath.org -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org