Hi!

I can finally announce a new patch for trac ticket #8800, which is
ready for review (and depends on #8807, which already has positive
review).

The original purpose of the ticket was to raise the doctest coverage
of sage.categories.functor and sage.categories.pushout to 100%. But
when I tried to construct meaningful doctests, I found numerous bugs
or missing features related with coercion. The new ticket description
lists roughly 20 bugs that are fixed with the patch.

Hence, it was not only a lot of work for me: I acknowledge that it
will be substantial work for the reviewer as well. Nevertheless, I
hope that some people will have a look at the patch.

But in two cases, I am not sure if the features introduced by the
patch are what people want, so, I ask here:

1.
sage: parent(GF(5)(1)+Integers(5)(1))
Finite Field of size 5

QUESTION:
Should that be the *field* or the *ring* of size 5? I think I remember
that some person here stated that he would prefer the field, but I
don't find the post.

2.
sage: K.<r4> = NumberField(x^4-2)
sage: L.<r4> = NumberField(x^4-2, embedding=CDF.0)
sage: FK = K.fractional_ideal(K.0)
sage: FL = L.fractional_ideal(L.0)

My patch introduces a forgetful coercion from L to K (as discussed on
sage-nt). Hence, FK and FL evaluate equal, after coercion:
sage: FK == FL
True

QUESTION:
The difference between "cmp" and "==" is that "cmp" directly calls the
__cmp__ method, whereas "==" first does coercion. However, John
Cremona stated at sage-nt that he does not want a difference, hence
sage: cmp(FK,FL)
0

I implemented __cmp__ for fractional ideals so that "cmp(F1,F2)==0
<=> F1==F2". Is that alright?

Best regards,
Simon

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

Reply via email to