Hi!

This is related with #5618.

In Sage, one can have two different cyclotomic fields, namely when the
variable names differ:
sage: K.<z> = CyclotomicField(3)
sage: L.<y> = CyclotomicField(3)
sage: K == L
False

In GAP, it seems that there is only one cyclotomic field. AFAIK, one
can not specify a generator name for a cyclotomic field in GAP
(correct me if I'm wrong).
sage: CFgap = gap('CyclotomicField(3)')
sage: CFgap
CF(3)
sage: CFgap.GeneratorsOfField()
[ E(3) ]

It is, by the way, impossible to acces this generator in the usual
notation:
sage: CFgap.1
BOOM

It seems that, for the above reason, it was decided that the GAP
interface version of a cyclotomic field is not a cyclotomic field, but
a number field: Here, generator names can be defined.
sage: gap(K).GeneratorsOfField()
[ z ]
sage: gap(L).GeneratorsOfField()
[ y ]

The problem with this approach is that certain methods in GAP are
available for Cyclotomic Fields, but not for number fields that happen
to be cyclotomic:
sage: CFgap.CONDUCTOR()
3
sage: gap(K).CONDUCTOR()
BOOM

I see different possibilities to cope with that mess:

1. In the Sage methods that rely on GAP's cyclotomic methods,
construct a cyclotomic field explicitly, rather than gap(K). An
example of an offensive method occurs in #5618. This doesn't sound
proper to me: It is likely to involve many special cases.

2. If K is a cyclotomic field, let gap(K) be a cyclotomic field.
Sounds logical, but it is likely to break existing code, one would
have K!=L but gap(K)==gap(L), and one couldn't choose generator names.

How do you suggest to proceed?

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