Magma object from magma.eval()?
How can I get a Magma object to use inside of Sage from something created in Magma through magma.eval()? Is this possible?
Suppose you created a polynomial in Magma with the following command:
sage: magma.eval('R<x> := PolynomialRing(RationalField()); f := (x-17/2)^3;')
Then, you can get a Sage version of that object like this:
sage: magma('f').sage()
The magma('f') part creates an object (MagmaElement) in Sage which is basically a pointer to the variable f in the Magma session. (You can actually use this perform calls on this objects which will translate to Magma commands. For example, magma('f').Factorization() is basically same as doing magma.eval('result := Factorization(f);') and returning magma('result').) The sage() method will convert a MagmaElement to the corresponding Sage object if possible.
Asked: 2011-06-23 15:13:33 +0100
Seen: 699 times
Last updated: Jun 23 '11
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.