Thank you! That is very useful to know! Marc helped me more and I have gotten it working again!
Thank you! Best, Kannappan --------- *Kannappan Sampath* *Graduate Student* Department of Mathematics | University of Michigan kn...@umich.edu On Thu, Aug 27, 2020 at 4:03 AM Dima Pasechnik <dimp...@gmail.com> wrote: > 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 a topic in the > Google Groups "sage-devel" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/sage-devel/jX_1CCjwSEw/unsubscribe. > To unsubscribe from this group and all its topics, 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 > . > -- 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/CALY4dM9DZRodm_jq%3DAAhoWV5pgn7RsXX9qy3e98ZJGD1J4mzfA%40mail.gmail.com.