I am having trouble computing Galois groups in Sage using 
Magma. Specifically, 

sage: magma(2+2)

4


works fine (i.e. I've got Magma installed and Sage seems to know about it), 
but 

sage: NumberField(x^32 + 1,'a').galois_group(algorithm='magma', names='b')


gives me a not implemented error (long error message below) telling me to 
try Kash or Magma.  I actually have a more complicated example I was trying 
to get this to work with but even the above degree-12 cyclotomic field 
gives the same error.  At the moment, I'm running Magma and Sage8.0 on 
Ubuntu16.04.3 in Virtualbox 5.1.26 on a Surface Book, but I've been having 
trouble getting this to work for several years at this point, since when I 
managed to get Magma and Sage on my (now dead) Macbook Pro, but I gave up 
there since I couldn't compile Sage there due to the ssl issues.

I recently decided to see if I could debug it myself in my current setup. 
 By adding some print statements to the galois_group function in 
polynomial_rational_flint.pyx, I could see that galois_group is being 
called with algorithm='pari' instead of 'magma'.  However, I am having 
trouble understanding the full traceback (below) and can't figure out what 
I would have to do to track down the bug further.  

Any help would be appreciated since I would love to use Magma to compute 
Galois groups in Sage (and to do the other stuff relying on this 
functionality, such as computing Artin symbols and the like).

Thanks, 
Jon

---------------------------------------------------------------------------NotImplementedError
                       Traceback (most recent call 
last)<ipython-input-12-9426c12ee176> in <module>()----> 1 
NumberField(x**Integer(32) + Integer(1),'a').galois_group(algorithm='magma', 
names='b')
/home/jyard/sage/src/sage/misc/cachefunc.pyx in 
sage.misc.cachefunc.CachedMethodCaller.__call__ 
(/home/jyard/sage/src/build/cythonized/sage/misc/cachefunc.c:10801)()   2036    
             return cache[k]   2037         except KeyError:-> 2038             
w = self._instance_call(*args, **kwds)   2039             cache[k] = w   2040   
          return w
/home/jyard/sage/src/sage/misc/cachefunc.pyx in 
sage.misc.cachefunc.CachedMethodCaller._instance_call 
(/home/jyard/sage/src/build/cythonized/sage/misc/cachefunc.c:10247)()   1912    
         True   1913         """-> 1914         return self.f(self._instance, 
*args, **kwds)   1915    1916     cdef fix_args_kwds(self, tuple args, dict 
kwds):
/home/jyard/sage/local/lib/python2.7/site-packages/sage/rings/number_field/number_field.pyc
 in galois_group(self, type, algorithm, names)   5068    5069         if type 
is None:-> 5070             return GaloisGroup_v2(self, names)   5071    5072   
      elif type=="pari":
/home/jyard/sage/local/lib/python2.7/site-packages/sage/rings/number_field/galois_group.pyc
 in __init__(self, number_field, names)    202         self._number_field = 
number_field    203 --> 204         if not number_field.is_galois():    205     
        self._galois_closure, self._gc_map = 
number_field.galois_closure(names=names, map=True)    206         else:
/home/jyard/sage/local/lib/python2.7/site-packages/sage/rings/number_field/number_field.pyc
 in is_galois(self)   4968             False   4969         """-> 4970         
return self.galois_group(type="pari").order() == self.degree()   4971    4972   
  @cached_method
/home/jyard/sage/src/sage/misc/cachefunc.pyx in 
sage.misc.cachefunc.CachedMethodCaller.__call__ 
(/home/jyard/sage/src/build/cythonized/sage/misc/cachefunc.c:10801)()   2036    
             return cache[k]   2037         except KeyError:-> 2038             
w = self._instance_call(*args, **kwds)   2039             cache[k] = w   2040   
          return w
/home/jyard/sage/src/sage/misc/cachefunc.pyx in 
sage.misc.cachefunc.CachedMethodCaller._instance_call 
(/home/jyard/sage/src/build/cythonized/sage/misc/cachefunc.c:10247)()   1912    
         True   1913         """-> 1914         return self.f(self._instance, 
*args, **kwds)   1915    1916     cdef fix_args_kwds(self, tuple args, dict 
kwds):
/home/jyard/sage/local/lib/python2.7/site-packages/sage/rings/number_field/number_field.pyc
 in galois_group(self, type, algorithm, names)   5071    5072         elif 
type=="pari":-> 5073             return 
GaloisGroup_v1(self.absolute_polynomial().galois_group(pari_group=True, 
algorithm=algorithm), self)   5074         elif type=="gap":   5075             
return GaloisGroup_v1(self.absolute_polynomial().galois_group(pari_group=False, 
algorithm=algorithm), self)
/home/jyard/sage/src/sage/rings/polynomial/polynomial_rational_flint.pyx in 
sage.rings.polynomial.polynomial_rational_flint.Polynomial_rational_flint.galois_group
 
(/home/jyard/sage/src/build/cythonized/sage/rings/polynomial/polynomial_rational_flint.cpp:16968)()
   2117             algorithm = 'kash'   2118         if self.degree() > 21 and 
algorithm == 'kash':-> 2119             raise NotImplementedError("Galois group 
computation is "   2120                 "supported for degrees up to 11 using 
PARI, or up to 21 "   2121                 "if the optional package KASH is 
installed.  Try "
NotImplementedError: Galois group computation is supported for degrees up to 11 
using PARI, or up to 21 if the optional package KASH is installed.  Try 
algorithm='magma' if you have magma.

-- 
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 https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to