sagemath / sage

Main repository of SageMath. Now open for Issues and Pull Requests.
https://www.sagemath.org
Other
1.2k stars 413 forks source link

enable using GAP to compute galois_group #16243

Open dimpase opened 10 years ago

dimpase commented 10 years ago

GAP can compute Galois groups of number fields of degree up to 15. This will allow avoiding Kash (not available for all platforms, binary only, etc) usage for degrees between 11 and 15. It will need GAP's transitive groups library from the optional spkg database_gap.

CC: @videlec

Component: number fields

Branch: u/dimpase/enable_using_gap_to_compute_galois_group

Issue created by migration from https://trac.sagemath.org/ticket/16243

dimpase commented 10 years ago

Description changed:

--- 
+++ 
@@ -1 +1,2 @@
-
+GAP can compute Galois groups of number fields of degree up to 15. This will allow avoiding Kash (not available for all platforms, binary only, etc) usage for degrees between 11 and 15.
+It will need GAP's transitive groups library from the optional spkg `database_gap`.
videlec commented 10 years ago
comment:2

ccing me

dimpase commented 10 years ago
comment:3

there is an old bug (cf #6312) on the line 4377 of sage/rings/number_field/number_field.py

$ git annotate -L 4377,4377 src/sage/rings/number_field/number_field.py
f46355fc        (  mabshoff     2008-11-22 19:03:57 -0800       4377)            sage: NumberField(x^3 + 2*x + 1, 'a').galois_group(pari_group=False)    # optional - database_gap

and here is the error:

$ sage -bt --optional=sage,database_gap src/sage/rings/number_field/number_field.py
...
sage -t src/sage/rings/number_field/number_field.py
**********************************************************************
File "src/sage/rings/number_field/number_field.py", line 4377, in sage.rings.number_field.number_field.NumberField_generic.galois_group
Failed example:
    NumberField(x^3 + 2*x + 1, 'a').galois_group(pari_group=False)    # optional - database_gap
Exception raised:
    Traceback (most recent call last):
      File "/usr/local/src/sage/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 480, in _run
        self.execute(example, compiled, test.globs)
      File "/usr/local/src/sage/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 839, in execute
        exec compiled in globs
      File "<doctest sage.rings.number_field.number_field.NumberField_generic.galois_group[13]>", line 1, in <module>
        NumberField(x**Integer(3) + Integer(2)*x + Integer(1), 'a').galois_group(pari_group=False)    # optional - database_gap
      File "cachefunc.pyx", line 1591, in sage.misc.cachefunc.CachedMethodCaller.__call__ (sage/misc/cachefunc.c:9194)
      File "cachefunc.pyx", line 2191, in sage.misc.cachefunc.CachedMethod._instance_call (sage/misc/cachefunc.c:11887)
    TypeError: galois_group() got an unexpected keyword argument 'pari_group'
**********************************************************************
1 item had failures:
   1 of  20 in sage.rings.number_field.number_field.NumberField_generic.galois_group
    [1666 tests, 1 failure, 36.82 s]
----------------------------------------------------------------------
sage -t src/sage/rings/number_field/number_field.py  # 1 doctest failed
----------------------------------------------------------------------
dimpase commented 10 years ago

Branch: u/dimpase/enable_using_gap_to_compute_galois_group