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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.