I obtained a large expression from CAS system (Fricas) calling it from sagemath.
When I did expr.full_simplify() sagemath 10.0 on Linux gave this error TypeError: ECL says: Memory limit reached. Please jump to an outer pointer, quit program and enlarge the memory limits before executing the program again. Is this to be expected for very large expression? Here is full error age: expr.full_simplify() --------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) File ~/TMP/sage-10.0/src/sage/interfaces/interface.py:748, in InterfaceElement.__init__(self, parent, value, is_name, name) 747 try: --> 748 self._name = parent._create(value, name=name) 749 except (TypeError, RuntimeError, ValueError) as x: File ~/TMP/sage-10.0/src/sage/interfaces/maxima_lib.py:618, in MaximaLib._create(self, value, name) 617 else: --> 618 self.set(name, value) 619 except RuntimeError as error: File ~/TMP/sage-10.0/src/sage/interfaces/maxima_lib.py:526, in MaximaLib.set(self, var, value) 525 cmd = '%s : %s$'%(var, value.rstrip(';')) --> 526 self.eval(cmd) File ~/TMP/sage-10.0/src/sage/interfaces/maxima_lib.py:472, in MaximaLib._eval_line(self, line, locals, reformat, **kwds) 471 if statement: --> 472 maxima_eval("#$%s$" % statement) 473 if not reformat: File ~/TMP/sage-10.0/src/sage/libs/ecl.pyx:830, in sage.libs.ecl.EclObject.__call__() 829 lispargs = EclObject(list(args)) --> 830 return ecl_wrap(ecl_safe_apply(self.obj,(<EclObject>lispargs).obj)) 831 File ~/TMP/sage-10.0/src/sage/libs/ecl.pyx:353, in sage.libs.ecl.ecl_safe_apply() 352 else: --> 353 raise RuntimeError("ECL says: {}".format(message)) 354 else: RuntimeError: ECL says: Memory limit reached. Please jump to an outer pointer, quit program and enlarge the memory limits before executing the program again. During handling of the above exception, another exception occurred: TypeError Traceback (most recent call last) Cell In [7], line 1 ----> 1 expr.full_simplify() File ~/TMP/sage-10.0/src/sage/symbolic/expression.pyx:10749, in sage.symbolic.expression.Expression.simplify_full() 10747 x = self 10748 x = x.simplify_factorial() > 10749 x = x.simplify_rectform() 10750 x = x.simplify_trig() 10751 x = x.simplify_rational() File ~/TMP/sage-10.0/src/sage/symbolic/expression.pyx:10899, in sage.symbolic.expression.Expression.simplify_rectform() 10897 10898 """ > 10899 simplified_expr = self.rectform() 10900 10901 if complexity_measure is None: File ~/TMP/sage-10.0/src/sage/symbolic/expression.pyx:10549, in sage.symbolic.expression.Expression.rectform() 10547 0.0 10548 """ > 10549 return self.maxima_methods().rectform() 10550 10551 def unhold(self, exclude=None): File ~/TMP/sage-10.0/src/sage/symbolic/maxima_wrapper.py:31, in MaximaFunctionElementWrapper.__call__(self, *args, **kwds) 18 def __call__(self, *args, **kwds): 19 """ 20 Return a Sage expression instead of a Maxima pexpect interface element. 21 (...) 29 Symbolic Ring 30 """ ---> 31 return super().__call__(*args, **kwds).sage() File ~/TMP/sage-10.0/src/sage/interfaces/interface.py:696, in InterfaceFunctionElement.__call__(self, *args, **kwds) 695 def __call__(self, *args, **kwds): --> 696 return self._obj.parent().function_call(self._name, [self._obj] + list(args), kwds) File ~/TMP/sage-10.0/src/sage/interfaces/interface.py:616, in Interface.function_call(self, function, args, kwds) 612 self._check_valid_function_name(function) 613 s = self._function_call_string(function, 614 [s.name() for s in args], 615 ['%s=%s'%(key,value.name()) for key, value in kwds.items()]) --> 616 return self.new(s) File ~/TMP/sage-10.0/src/sage/interfaces/interface.py:385, in Interface.new(self, code) 384 def new(self, code): --> 385 return self(code) File ~/TMP/sage-10.0/src/sage/interfaces/interface.py:298, in Interface.__call__(self, x, name) 295 pass 297 if isinstance(x, str): --> 298 return cls(self, x, name=name) 299 try: 300 # Special methods do not and should not have an option to 301 # set the name directly, as the identifier assigned by the 302 # interface should stay consistent. An identifier with a 303 # user-assigned name might change its value, so we return a 304 # new element. 305 result = self._coerce_from_special_method(x) File ~/TMP/sage-10.0/src/sage/interfaces/interface.py:750, in InterfaceElement.__init__(self, parent, value, is_name, name) 748 self._name = parent._create(value, name=name) 749 except (TypeError, RuntimeError, ValueError) as x: --> 750 raise TypeError(x) TypeError: ECL says: Memory limit reached. Please jump to an outer pointer, quit program and enlarge the memory limits before executing the program again. sage: Since expression is large, I will put a link to full code used if you think it is needed. I am running this on Linux Virtual box with 43 GB of RAM. --Nasser -- 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/1c348d08-09c1-41c7-aee8-f09f0d0136d6n%40googlegroups.com.