id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,merged,author,reviewer,upstream,work_issues,branch,commit,dependencies,stopgaps
8909,Coercion from Gap to cyclotomic fields; usage of GAP to improve computation of invariant rings,SimonKing,was,"When coercing from GAP to a cyclotomic field, it was assumed that the generator of a cyclotomic field is ''always'' called ``E(n)``. But this is not necessarily the case, in particular when the object in GAP was created from Sage.
Moreover, GAP prints an additional exclamation mark in front of numbers if they are part of a matrix defined over a cyclotomic field.
For these two reasons, the following example used to fail, but now works with the patch:
{{{
sage: F=CyclotomicField(8)
sage: z=F.gen()
sage: a=gap(z+1/z); a
-zeta8^3+zeta8
sage: F(a)
-zeta8^3 + zeta8
sage: b=gap(Matrix(F,[[z^2,1],[0,a+1]])); b
[ [ zeta8^2, !1 ], [ !0, -zeta8^3+zeta8+1 ] ]
sage: b[1,2]
!1
sage: F(b[1,2])
1
sage: Matrix(b,F)
[ zeta8^2 1]
[ 0 -zeta8^3 + zeta8 + 1]
}}}
The idea was
* to remove the exclamation mark when it is attempted to coerce into the rationals
* to test whether the generator name in GAP happens to coincide with the generator name in Sage (here: ``zeta8``).
The motivation for working on it is my attempt to improve the computation of non-modular invariant rings of finite groups: There is a doc test using a finite matrix group over a cyclotomic field.
One massive bottle neck for the computation of invariant rings with Singular is the computation of the Reynolds operator. It requires to enumerate the group elements, and Singular is not good at this task.
The patch uses GAP to enumerate the group elements and uses this to construct the Reynolds operator in Singular. For complicated groups, this should save a massive amount of resources.
With the patch, the enumeration of group elements in Singular has the status of a backup: If the transformation of the matrix group into GAP fails or if the transformation of the resulting GAP matrices back into Sage fails, then the old algorithm is used.
I think this ticket is about ""interfaces"". I hope this labelling is correct.",enhancement,closed,major,sage-4.5.2,interfaces,fixed,"gap, cyclotomic fields, invariant rings",wdj,sage-4.5.2.alpha0,Simon King,"David Loeffler, Mike Hansen",N/A,,,,,