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.


Reply via email to