On Wednesday, April 10, 2013 10:28:51 AM UTC+2, Nils Bruin wrote: > > The problem may be this: > > sage: S=Rationals() > sage: R=GF(7) > sage: from sage.categories.pushout import * > sage: pushout(R,S) > Ring of integers modulo 1 > sage: R_tower = construction_tower(R) > sage: S_tower = construction_tower(S) > sage: R_tower > [(None, Finite Field of size 7), (QuotientFunctor, Integer Ring)] > sage: S_tower > [(None, Rational Field), (FractionField, Integer Ring)] > sage: R_tower[1][0].rank > 7 > sage: S_tower[1][0].rank > 5 > > These ranks mean that FractionField is applied before the > QuotientFunctor, which is obviously not such a great idea: After > This should be changed in #8335, see the top of the third patch to apply.
> taking the fraction field there are not many ideals left to quotient > out by: > > sage: R_tower[1][0](S_tower[1][0](ZZ)) > Ring of integers modulo 1 > > The other composition would arrive at a desirable pushout: > > sage: S_tower[1][0](R_tower[1][0](ZZ)) > Finite Field of size 7 > > Larger finite fields don't participate in this game: > > sage: construction_tower(GF(7^2,'a')) > [(None, Finite Field in a of size 7^2)] > > so there the code relies on the coercion that exists from ZZ to GF, > which somehow extends (partially) to QQ. > > I would think this example illustrates that FractionField should have > a higher rank than QuotientFunctor. Doing that ends up with > sage: L.parent() > Full MatrixSpace of 2 by 2 dense matrices over Ring of integers modulo > 7 > sage: T.parent() > Full MatrixSpace of 2 by 2 dense matrices over Finite Field of size 7 > > so it didn't quite produce the right parent, although > > sage: pushout(QQ,GF(7)) > Finite Field of size 7 > > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out.