Hi there,
I am using sagemath 9.2-2 installed with apt on PopOs 21.04. When I try to evaluate `Si(pi).n()` I get the following error:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/usr/lib/python3/dist-packages/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression.numerical_approx (build/cythonized/sage/symbolic/expression.cpp:35783)()
6069 try:
-> 6070 x = x._convert(kwds)
6071 except TypeError: # numerical approximation for real number failed
/usr/lib/python3/dist-packages/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression._convert (build/cythonized/sage/symbolic/expression.cpp:10297)()
1464 """
-> 1465 cdef GEx res = self._gobj.evalf(0, kwds)
1466 return new_Expression_from_GEx(self._parent, res)
/usr/lib/python3/dist-packages/sage/functions/exp_integral.py in _evalf_(self, z, parent, algorithm)
868 import mpmath
--> 869 return mpmath_utils_call(mpmath.si, z, parent=parent)
870
/usr/lib/python3/dist-packages/sage/libs/mpmath/utils.pyx in sage.libs.mpmath.utils.call (build/cythonized/sage/libs/mpmath/utils.c:7121)()
438 mp.prec = orig
--> 439 y = mpmath_to_sage(y, prec)
440 if parent is None:
/usr/lib/python3/dist-packages/sage/libs/mpmath/utils.pyx in sage.libs.mpmath.utils.mpmath_to_sage (build/cythonized/sage/libs/mpmath/utils.c:5511)()
271 y = RealField(prec)()
--> 272 mpfr_from_mpfval(y.value, x._mpf_)
273 return y
/usr/lib/python3/dist-packages/sage/libs/mpmath/utils.pyx in sage.libs.mpmath.utils.mpfr_from_mpfval (build/cythonized/sage/libs/mpmath/utils.c:4695)()
166 cdef long bc
--> 167 sign, man, exp, bc = x
168 if man:
TypeError: Cannot convert mpz to sage.rings.integer.Integer
During handling of the above exception, another exception occurred:
TypeError Traceback (most recent call last)
<ipython-input-15-6561919e4fcc> in <module>
----> 1 Si(pi).n()
/usr/lib/python3/dist-packages/sage/structure/element.pyx in sage.structure.element.Element.n (build/cythonized/sage/structure/element.c:8382)()
883 0.666666666666667
884 """
--> 885 return self.numerical_approx(prec, digits, algorithm)
886
887 def _mpmath_(self, prec=53, rounding=None):
/usr/lib/python3/dist-packages/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression.numerical_approx (build/cythonized/sage/symbolic/expression.cpp:35856)()
6072 pass # try again with complex
6073 kwds['parent'] = R.complex_field()
-> 6074 x = x._convert(kwds)
6075
6076 # we have to consider constants as well, since infinity is a constant
/usr/lib/python3/dist-packages/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression._convert (build/cythonized/sage/symbolic/expression.cpp:10297)()
1463 0
1464 """
-> 1465 cdef GEx res = self._gobj.evalf(0, kwds)
1466 return new_Expression_from_GEx(self._parent, res)
1467
/usr/lib/python3/dist-packages/sage/functions/exp_integral.py in _evalf_(self, z, parent, algorithm)
867 """
868 import mpmath
--> 869 return mpmath_utils_call(mpmath.si, z, parent=parent)
870
871 def _derivative_(self, z, diff_param=None):
/usr/lib/python3/dist-packages/sage/libs/mpmath/utils.pyx in sage.libs.mpmath.utils.call (build/cythonized/sage/libs/mpmath/utils.c:7121)()
437 finally:
438 mp.prec = orig
--> 439 y = mpmath_to_sage(y, prec)
440 if parent is None:
441 return y
/usr/lib/python3/dist-packages/sage/libs/mpmath/utils.pyx in sage.libs.mpmath.utils.mpmath_to_sage (build/cythonized/sage/libs/mpmath/utils.c:5511)()
270 if hasattr(x, "_mpf_"):
271 y = RealField(prec)()
--> 272 mpfr_from_mpfval(y.value, x._mpf_)
273 return y
274 elif hasattr(x, "_mpc_"):
/usr/lib/python3/dist-packages/sage/libs/mpmath/utils.pyx in sage.libs.mpmath.utils.mpfr_from_mpfval (build/cythonized/sage/libs/mpmath/utils.c:4695)()
165 cdef long exp
166 cdef long bc
--> 167 sign, man, exp, bc = x
168 if man:
169 mpfr_set_z(res, man.value, MPFR_RNDZ)
TypeError: Cannot convert mpz to sage.rings.integer.Integer
---------------------------------------------------------------------------
I believe this should be able to be approximated numerically and should return approximately 1.851937