Ask Your Question

Can I read a Gap file into my current Gap session within Sage?

asked 2010-12-11 10:20:56 +0200

niles gravatar image

updated 2011-04-28 16:02:22 +0200

Kelvin Li gravatar image

I have a collection of functions defined for Gap, and I'd like to be able to read their definitions and use them from Sage. I've noticed the load_package function, but this seems to require that my function definitions be installed as a Gap package. I'd like to be able to do something like

sage: gap('Read("gap_defs.g");')

and then

sage: X = gap('customFunction()')

to return the Sage-wrapped output of my gap function. However this doesn't seem to work, and nor do any of the (many) variants I've tried. Suggestions?

If installing the definitions as a Gap package is necessary, could someone tell me where the files should be put so that Sage's copy of Gap can find them? (i.e. what is the Gap root for Sage's Gap?)

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2010-12-11 14:40:20 +0200

Mike Hansen gravatar image

You should be able to do the following:

sage: gap.Read('"gap_defs.g"') #similarly gap.eval('Read("gap_defs.g");')
sage: X = gap.customFunction() #assuming customFunction() returns an object

If that isn't working for you, you'll have to be more specific as to what the error is.

Note that doing

sage: gap('Read("gap_defs.g");')

is equivalent to doing something like

sage24 := Read("gap_defs.g");

in GAP. If you want to just evaluate a command in the session, use gap.eval('XXX').

edit flag offensive delete link more


just what I needed -- thanks!

niles gravatar imageniles ( 2010-12-11 19:51:21 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2010-12-11 10:20:56 +0200

Seen: 741 times

Last updated: Dec 11 '10