I'd like to do it this way, running everything through sage, but it
doesn't work. Here is what I'm getting:

sage: g = SymmetricGroup(3)
sage: t = [(2,1),(2,1)]
sage: gap.Braid(g,t)
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call
last)

/Users/adamsorkin/Desktop/braid_dir/<ipython console> in <module>()

/Applications/sage/local/lib/python2.5/site-packages/sage/interfaces/
expect.pyc in __call__(self, *args, **kwds)
   1356
   1357     def __call__(self, *args, **kwds):
-> 1358         return self._parent.function_call(self._name, list
(args), kwds)
   1359
   1360     def _sage_doc_(self):

/Applications/sage/local/lib/python2.5/site-packages/sage/interfaces/
gap.pyc in function_call(self, function, args, kwds)
    883         self.eval('$__SAGE_LAST__ := %s;;'%marker)
    884         res = self.eval("%s(%s)"%(function, ",".join([s.name()
for s in args]+
--> 885                                                      ['%s=%s'%
(key,value.name()) for key, value in kwds.items()])))
    886
    887         if gap.eval('last') != marker:

/Applications/sage/local/lib/python2.5/site-packages/sage/interfaces/
gap.pyc in eval(self, x, newlines, strip, **kwds)
    478             input_line += ';'
    479
--> 480         result = Expect.eval(self, input_line, **kwds)
    481
    482         if not newlines:

/Applications/sage/local/lib/python2.5/site-packages/sage/interfaces/
expect.pyc in eval(self, code, strip, synchronize, locals, **kwds)
    973         try:
    974             with gc_disabled():
--> 975                 return '\n'.join([self._eval_line(L, **kwds)
for L in code.split('\n') if L != ''])
    976         except KeyboardInterrupt:
    977             # DO NOT CATCH KeyboardInterrupt, as it is being
caught

/Applications/sage/local/lib/python2.5/site-packages/sage/interfaces/
gap.pyc in _eval_line(self, line, allow_use_file, wait_for_prompt)
    720                         return ''
    721                 else:
--> 722                     raise RuntimeError, message
    723
    724         except KeyboardInterrupt:

RuntimeError: Gap produced error output
Error, no 1st choice method found for `IsConjugate' on 3 arguments

   executing Braid($sage9,$sage16);



I get a different error using
gap.eval("Braid(%s,%s)" % gap(g), gap(t))

Specifically,

sage: gap.eval("Braid(%s,%s)" % gap(g), gap(t) )
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call
last)

/Users/adamsorkin/Desktop/braid_dir/<ipython console> in <module>()

TypeError: not enough arguments for format string


Perhaps this one is easier to fix.

Adam


On Nov 6, 11:21 am, Robert Bradshaw <rober...@math.washington.edu>
wrote:
> On Nov 6, 2009, at 11:07 AM, Adam Sorkin wrote:
>
> > I can runBraidin gap_console() inside of Sage. Trying to run it in
> > Sage proper gives gives the following run-time error:
>
> > sage:gap.eval('Read("assemble.g")')
> > ''
> > sage: g=SymmetricGroup(3)
> > sage: t=[(2,1),(2,1),(2,1),(2,1)]
> > sage:gap.eval("Braid(g,t)")
>
> Gapand Sage each have their own environments. TheBraidpackage lives  
> entirely insideGap, and can't be directly called with things in the  
> Sage environment, Sage can just askGapto do things in theGap 
> environment. What you can do is
>
> sage: g=SymmetricGroup(3)
> sage: t=[(2,1),(2,1),(2,1),(2,1)]
> sage:gap.eval("Braid(%s,%s)" %gap(g),gap(t))
>
> Even easier, you can do
>
> sage:gap.Braid(g, t)
>
> which will create copies of g and t in thegapenvironment, callgap's Braid() 
> on them, then return the result.
>
> - Robert
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to