On Thu, Aug 27, 2020 at 3:01 AM Kannappan Sampath <kn...@umich.edu> wrote: > > Hello everyone: > > After some poking around (and hat tip from Marc Masdeu), I notice that the > source for the error might be in part due to the following: > > > [knsam@gl-login1 magma]$ echo $SAGE_ROOT > /sw/lsa/centos7/sage/9.1 > > For some reason, sage is looking in $SAGE_ROOT/lib/sage/ext_data/magma/ and > from what I can see, in my installation, there is no such thing. However, I > do notice that the file containing the commands that would make this run > namely basic.m is in > > $SAGE_ROOT/lib/python3.7/site-packages/sage/ext_data/magma/ > > Does this mean that I should somehow recompile sage with a different > SAGE_ROOT, or teach Sage to look here instead when it wants to fool around > with magma? Any help fixing it would be appreciated. Thank you!
Sage looks for Magma stuff in SAGE_EXTCODE/magma/, where SAGE_EXTCODE value may be inspected by sage: from sage.env import SAGE_EXTCODE sage: SAGE_EXTCODE on my installation I see the latter showing '/mnt/opt/Sage/sage-dev/local/lib/python3.7/site-packages/sage/ext_data' (where SAGE_ROOT==/mnt/opt/Sage/sage-dev/) What is the value of SAGE_EXTCODE in your case? It should be $SAGE_ROOT/lib/python3.7/site-packages/sage/ext_data/ If it's not, it has to be set to the correct value. > On Wednesday, August 26, 2020 at 12:15:44 PM UTC-4 Kannappan Sampath wrote: >> >> Hello everyone: >> >> I am trying to compute with Eichler orders in a definite quaternion algebra >> and consequently would like for Sage and Magma to talk to each other. I am >> using Sage version 9.1 and Magma version V2.25-2. I think that Sage is able >> to discover the Magma installation (eg. magma_console() works). >> >> However, in my installation, somehow many of the basic Sage<->Magma >> interface commands are broken. For example: >> >> sage: magma(1).sage() >> >> --------------------------------------------------------------------------- >> >> RuntimeError Traceback (most recent call last) >> >> <ipython-input-26-1c79c0c0379c> in <module>() >> >> ----> 1 magma(Integer(1)).sage() >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/interface.py >> in sage(self, *args, **kwds) >> >> 1085 [0 0] >> >> 1086 """ >> >> -> 1087 return self._sage_(*args, **kwds) >> >> 1088 >> >> 1089 def __repr__(self): >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/magma.py >> in _sage_(self) >> >> 2062 Ring of integers modulo 137 >> >> 2063 """ >> >> -> 2064 z, preparse = self.Sage(nvals=2) >> >> 2065 s = str(z) >> >> 2066 preparse = str(preparse) == 'true' >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/magma.py >> in __call__(self, *args, **kwds) >> >> 1680 [self._obj.name()] + list(args), >> >> 1681 params=kwds, >> >> -> 1682 nvals=nvals) >> >> 1683 >> >> 1684 def _instancedoc_(self): >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/magma.py >> in function_call(self, function, args, params, nvals) >> >> 1163 fun = "%s(%s%s)" % (function, ",".join([s.name() for s in >> args]), par) >> >> 1164 >> >> -> 1165 return self._do_call(fun, nvals) >> >> 1166 >> >> 1167 def _do_call(self, code, nvals): >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/magma.py >> in _do_call(self, code, nvals) >> >> 1218 vars = ", ".join(v) >> >> 1219 cmd = "%s := %s;" % (vars, code) >> >> -> 1220 out = self.eval(cmd) >> >> 1221 ans = tuple([MagmaElement(self, x, is_name=True) for x >> in v]) >> >> 1222 >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/magma.py >> in eval(self, x, strip, **kwds) >> >> 561 ans = Expect.eval(self, x, **kwds).replace('\\\n', '') >> >> 562 if 'Runtime error' in ans or 'User error' in ans: >> >> --> 563 raise RuntimeError("Error evaluating Magma >> code.\nIN:%s\nOUT:%s" % (x, ans)) >> >> 564 return ans >> >> 565 >> >> >> RuntimeError: Error evaluating Magma code. >> >> IN:_sage_[33], _sage_[16] := Sage(_sage_[24]); >> >> OUT: >> >> >> _sage_[33], _sage_[16] := Sage(_sage_[24]); >> >> ^ >> >> User error: Identifier 'Sage' has not been declared or assigned >> >> >> sage: R.<y> = PolynomialRing(QQ) >> >> sage: S = magma(R) >> >> --------------------------------------------------------------------------- >> >> RuntimeError Traceback (most recent call last) >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/expect.py >> in __init__(self, parent, value, is_name, name) >> >> 1470 try: >> >> -> 1471 self._name = parent._create(value, name=name) >> >> 1472 # Convert ValueError and RuntimeError to TypeError for >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/interface.py >> in _create(self, value, name) >> >> 501 name = self._next_var_name() if name is None else name >> >> --> 502 self.set(name, value) >> >> 503 return name >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/magma.py >> in set(self, var, value) >> >> 628 """ >> >> --> 629 out = self.eval("%s:=%s" % (var, value)) >> >> 630 if out.lower().find("error") != -1: >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/magma.py >> in eval(self, x, strip, **kwds) >> >> 562 if 'Runtime error' in ans or 'User error' in ans: >> >> --> 563 raise RuntimeError("Error evaluating Magma >> code.\nIN:%s\nOUT:%s" % (x, ans)) >> >> 564 return ans >> >> >> RuntimeError: Error evaluating Magma code. >> >> IN:_sage_[17]:=SageCreateWithNames(PolynomialRing(_sage_ref2),["y"]); >> >> OUT: >> >> >> _sage_[17]:=SageCreateWithNames(PolynomialRing(_sage_ref2),["y"]); >> >> ^ >> >> User error: Identifier 'SageCreateWithNames' has not been declared or >> assigned >> >> >> During handling of the above exception, another exception occurred: >> >> >> TypeError Traceback (most recent call last) >> >> <ipython-input-28-a5ee0ecd878c> in <module>() >> >> ----> 1 S = magma(R) >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/magma.py >> in __call__(self, x, gens) >> >> 792 pass >> >> 793 >> >> --> 794 A = Expect.__call__(self, x) >> >> 795 if has_cache: >> >> 796 x._magma_cache[self] = A >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/interface.py >> in __call__(self, x, name) >> >> 302 # user-assigned name might change its value, so we >> return a >> >> 303 # new element. >> >> --> 304 result = self._coerce_from_special_method(x) >> >> 305 return result if name is None else >> result.name(new_name=name) >> >> 306 except TypeError: >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/magma.py >> in _coerce_from_special_method(self, x) >> >> 831 """ >> >> 832 s = x._magma_init_(self) >> >> --> 833 a = self(s) >> >> 834 >> >> 835 # dereference all _sage_ref's used in this string. >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/magma.py >> in __call__(self, x, gens) >> >> 792 pass >> >> 793 >> >> --> 794 A = Expect.__call__(self, x) >> >> 795 if has_cache: >> >> 796 x._magma_cache[self] = A >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/interface.py >> in __call__(self, x, name) >> >> 295 >> >> 296 if isinstance(x, string_types): >> >> --> 297 return cls(self, x, name=name) >> >> 298 try: >> >> 299 # Special methods do not and should not have an option to >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/expect.py >> in __init__(self, parent, value, is_name, name) >> >> 1474 except (RuntimeError, ValueError) as x: >> >> 1475 self._session_number = -1 >> >> -> 1476 raise_(TypeError, TypeError(*x.args), >> sys.exc_info()[2]) >> >> 1477 except BaseException: >> >> 1478 self._session_number = -1 >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/six.py in reraise(tp, >> value, tb) >> >> 690 value = tp() >> >> 691 if value.__traceback__ is not tb: >> >> --> 692 raise value.with_traceback(tb) >> >> 693 raise value >> >> 694 finally: >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/expect.py >> in __init__(self, parent, value, is_name, name) >> >> 1469 else: >> >> 1470 try: >> >> -> 1471 self._name = parent._create(value, name=name) >> >> 1472 # Convert ValueError and RuntimeError to TypeError for >> >> 1473 # coercion to work properly. >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/interface.py >> in _create(self, value, name) >> >> 500 def _create(self, value, name=None): >> >> 501 name = self._next_var_name() if name is None else name >> >> --> 502 self.set(name, value) >> >> 503 return name >> >> 504 >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/magma.py >> in set(self, var, value) >> >> 627 13/5 >> >> 628 """ >> >> --> 629 out = self.eval("%s:=%s" % (var, value)) >> >> 630 if out.lower().find("error") != -1: >> >> 631 raise TypeError("Error executing Magma code:\n%s" % out) >> >> >> /sw/lsa/centos7/sage/9.1/lib/python3.7/site-packages/sage/interfaces/magma.py >> in eval(self, x, strip, **kwds) >> >> 561 ans = Expect.eval(self, x, **kwds).replace('\\\n', '') >> >> 562 if 'Runtime error' in ans or 'User error' in ans: >> >> --> 563 raise RuntimeError("Error evaluating Magma >> code.\nIN:%s\nOUT:%s" % (x, ans)) >> >> 564 return ans >> >> 565 >> >> >> TypeError: Error evaluating Magma code. >> >> IN:_sage_[17]:=SageCreateWithNames(PolynomialRing(_sage_ref2),["y"]); >> >> OUT: >> >> >> _sage_[17]:=SageCreateWithNames(PolynomialRing(_sage_ref2),["y"]); >> >> ^ >> >> User error: Identifier 'SageCreateWithNames' has not been declared or >> assigned >> >> >> Any ideas about how to debug the problem would be much appreciated. >> >> Best, >> Kannappan >> >> >> --------- >> Kannappan Sampath >> Graduate Student >> >> Department of Mathematics | University of Michigan >> kn...@umich.edu > > -- > 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 sage-devel+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sage-devel/2cf101be-f455-4bbb-91f2-2a8b0f8dc7ccn%40googlegroups.com. -- 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 sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/CAAWYfq3F8W3z7m4HyWOf-LfMLQ5C8jLscjA0Yq%3Dvs%2B_PSL%3Dutg%40mail.gmail.com.