Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How to connect Magma_free, SAGE and GAP (problem concerning a MAGMA string not readable by GAP)?

Hi,

I'd like to ask the following:

I'd like to use SAGE in order to compute something with the free magma online calculator and then convert it into a GAP object. Unfortunately, there occurs an error, and I don't know, how to fix this. Any help is very much appreciated.

I followed the example on page 91 of http://www.math.rwth-aachen.de/~Thomas.Breuer/ctbllib/doc/manual.pdf

Here is what I did:

sage: gap.LoadPackage('"ctbllib"');
sage: ct=magma_free("G:=Alt(5);ct:=CharacterTable(G);ct;")
sage: tmpdir = gap.DirectoryTemporary()
sage: file=gap.Filename(tmpdir, '"magmatable"')
sage: gap.FileString(file,ct)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-5-fd546564c72c> in <module>()
----> 1 gap.FileString(file,ct)

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in __call__(self, *args, **kwds)
    627 
    628     def __call__(self, *args, **kwds):
--> 629         return self._parent.function_call(self._name, list(args), kwds)
    630 
    631     def _instancedoc_(self):

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/gap.pyc in function_call(self, function, args, kwds)
    921 
    922         """
--> 923         args, kwds = self._convert_args_kwds(args, kwds)
    924         self._check_valid_function_name(function)
    925 

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in _convert_args_kwds(self, args, kwds)
    530         for i, arg in enumerate(args):
    531             if not isinstance(arg, InterfaceElement) or arg.parent() is not self:
--> 532                 args[i] = self(arg)
    533         for key, value in iteritems(kwds):
    534             if not isinstance(value, InterfaceElement) or value.parent() is not self:

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in __call__(self, x, name)
    278 
    279         if isinstance(x, string_types):
--> 280             return cls(self, x, name=name)
    281         try:
    282             return self._coerce_from_special_method(x)

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/expect.pyc in __init__(self, parent, value, is_name, name)
   1443             except (RuntimeError, ValueError) as x:
   1444                 self._session_number = -1
-> 1445                 raise_(TypeError, TypeError(*x.args), sys.exc_info()[2])
   1446             except BaseException:
   1447                 self._session_number = -1

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/expect.pyc in __init__(self, parent, value, is_name, name)
   1438         else:
   1439             try:
-> 1440                 self._name = parent._create(value, name=name)
   1441             # Convert ValueError and RuntimeError to TypeError for
   1442             # coercion to work properly.

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in _create(self, value, name)
    474     def _create(self, value, name=None):
    475         name = self._next_var_name() if name is None else name
--> 476         self.set(name, value)
    477         return name
    478 

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/gap.pyc in set(self, var, value)
   1387         """
   1388         cmd = ('%s:=%s;;' % (var, value)).replace('\n','')
-> 1389         self._eval_line(cmd, allow_use_file=True)
   1390 
   1391     def get(self, var, use_file=False):

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/gap.pyc in _eval_line(self, line, allow_use_file,         
wait_for_prompt, restart_if_needed)
    787                     return ''
    788             else:
--> 789                 raise RuntimeError(message)
    790 
    791         except KeyboardInterrupt:

TypeError: Gap terminated unexpectedly while reading in a large line:
Gap produced error output
Syntax error: ; expected in /home/boehmler/.sage/temp/mahlzahn/8255/interface/\
tmp8325 line 1
\$sage2:=Character Table of Group G-------------------------------------------\
----------Class |   1  2  3    4    5Size  |   1 15 20   12   12Order |   1  2\
  3    5    5---------------------------p  =  2   1  1  3    5    4p  =  3   1\
  2  1    5    4p  =  5   1  2  3    1    1---------------------------X.1   + \
  1  1  1    1    1X.2   +   3 -1  0   Z1 Z1#2X.3   +   3 -1  0 Z1#2   Z1X.4  \
 +   4  0  1   -1   -1X.5   +   5  1 -1    0    0Explanation of Character Valu\
e Symbols--------------------------------------# denotes algebraic conjugation\
, that is,#k indicates replacing the root of unity w by w^kZ1     = (Cyclotomi\
cField(5: Sparse := true)) ! [ RationalField() | 0, 0, -1, -1 ];;
                       ^

   executing Read("/home/boehmler/.sage/temp/mahlzahn/8255/interface/tmp8325");
sage:
click to hide/show revision 2
retagged

How to connect Magma_free, SAGE and GAP (problem concerning a MAGMA string not readable by GAP)?

Hi,

I'd like to ask the following:

I'd like to use SAGE in order to compute something with the free magma online calculator and then convert it into a GAP object. Unfortunately, there occurs an error, and I don't know, how to fix this. Any help is very much appreciated.

I followed the example on page 91 of http://www.math.rwth-aachen.de/~Thomas.Breuer/ctbllib/doc/manual.pdf

Here is what I did:

sage: gap.LoadPackage('"ctbllib"');
sage: ct=magma_free("G:=Alt(5);ct:=CharacterTable(G);ct;")
sage: tmpdir = gap.DirectoryTemporary()
sage: file=gap.Filename(tmpdir, '"magmatable"')
sage: gap.FileString(file,ct)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-5-fd546564c72c> in <module>()
----> 1 gap.FileString(file,ct)

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in __call__(self, *args, **kwds)
    627 
    628     def __call__(self, *args, **kwds):
--> 629         return self._parent.function_call(self._name, list(args), kwds)
    630 
    631     def _instancedoc_(self):

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/gap.pyc in function_call(self, function, args, kwds)
    921 
    922         """
--> 923         args, kwds = self._convert_args_kwds(args, kwds)
    924         self._check_valid_function_name(function)
    925 

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in _convert_args_kwds(self, args, kwds)
    530         for i, arg in enumerate(args):
    531             if not isinstance(arg, InterfaceElement) or arg.parent() is not self:
--> 532                 args[i] = self(arg)
    533         for key, value in iteritems(kwds):
    534             if not isinstance(value, InterfaceElement) or value.parent() is not self:

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in __call__(self, x, name)
    278 
    279         if isinstance(x, string_types):
--> 280             return cls(self, x, name=name)
    281         try:
    282             return self._coerce_from_special_method(x)

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/expect.pyc in __init__(self, parent, value, is_name, name)
   1443             except (RuntimeError, ValueError) as x:
   1444                 self._session_number = -1
-> 1445                 raise_(TypeError, TypeError(*x.args), sys.exc_info()[2])
   1446             except BaseException:
   1447                 self._session_number = -1

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/expect.pyc in __init__(self, parent, value, is_name, name)
   1438         else:
   1439             try:
-> 1440                 self._name = parent._create(value, name=name)
   1441             # Convert ValueError and RuntimeError to TypeError for
   1442             # coercion to work properly.

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in _create(self, value, name)
    474     def _create(self, value, name=None):
    475         name = self._next_var_name() if name is None else name
--> 476         self.set(name, value)
    477         return name
    478 

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/gap.pyc in set(self, var, value)
   1387         """
   1388         cmd = ('%s:=%s;;' % (var, value)).replace('\n','')
-> 1389         self._eval_line(cmd, allow_use_file=True)
   1390 
   1391     def get(self, var, use_file=False):

/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/gap.pyc in _eval_line(self, line, allow_use_file,         
wait_for_prompt, restart_if_needed)
    787                     return ''
    788             else:
--> 789                 raise RuntimeError(message)
    790 
    791         except KeyboardInterrupt:

TypeError: Gap terminated unexpectedly while reading in a large line:
Gap produced error output
Syntax error: ; expected in /home/boehmler/.sage/temp/mahlzahn/8255/interface/\
tmp8325 line 1
\$sage2:=Character Table of Group G-------------------------------------------\
----------Class |   1  2  3    4    5Size  |   1 15 20   12   12Order |   1  2\
  3    5    5---------------------------p  =  2   1  1  3    5    4p  =  3   1\
  2  1    5    4p  =  5   1  2  3    1    1---------------------------X.1   + \
  1  1  1    1    1X.2   +   3 -1  0   Z1 Z1#2X.3   +   3 -1  0 Z1#2   Z1X.4  \
 +   4  0  1   -1   -1X.5   +   5  1 -1    0    0Explanation of Character Valu\
e Symbols--------------------------------------# denotes algebraic conjugation\
, that is,#k indicates replacing the root of unity w by w^kZ1     = (Cyclotomi\
cField(5: Sparse := true)) ! [ RationalField() | 0, 0, -1, -1 ];;
                       ^

   executing Read("/home/boehmler/.sage/temp/mahlzahn/8255/interface/tmp8325");
sage: