Comment #6 on issue 3235 by vbraun.n...@gmail.com: Sage error in master
http://code.google.com/p/sympy/issues/detail?id=3235

I get a useable stacktrace, for the record. Time to switch to Linux? ;-)

In any case, the problem is that sympy calls sage.libs.mpmath.ext_libmp.mpf_log with prec=1, which is invalid. The MPFR precision has to be >=2, which is why the assertion triggers.

I've added a "raise ValueError" to mpf_log, so you can see the call stack. Presumably you can tell me from there why you call it with prec=1:

import sympy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "sympy/__init__.py", line 63, in <module>
    from integrals import *
  File "sympy/integrals/__init__.py", line 13, in <module>
    from transforms import (mellin_transform, inverse_mellin_transform,
  File "sympy/integrals/transforms.py", line 1410, in <module>
    class SineTransform(SineCosineTypeTransform):
  File "sympy/integrals/transforms.py", line 1422, in SineTransform
    _a = sqrt(2)/sqrt(pi)
  File "sympy/core/decorators.py", line 66, in __sympifyit_wrapper
    return func(a, sympify(b, strict=True))
  File "sympy/core/decorators.py", line 106, in binary_op_wrapper
    return func(self, other)
  File "sympy/core/expr.py", line 162, in __div__
    return Mul(self, Pow(other, S.NegativeOne))
  File "sympy/core/cache.py", line 88, in wrapper
    func_cache_it_cache[k] = r = func(*args, **kw_args)
  File "sympy/core/power.py", line 92, in __new__
    obj = b._eval_power(e)
  File "sympy/core/power.py", line 119, in _eval_power
    smallarg = (abs(e) <= abs(S.Pi/log(b)))
  File "sympy/core/expr.py", line 121, in __abs__
    return C.Abs(self)
  File "sympy/core/cache.py", line 88, in wrapper
    func_cache_it_cache[k] = r = func(*args, **kw_args)
  File "sympy/core/function.py", line 288, in __new__
    result = super(Function, cls).__new__(cls, *args, **options)
  File "sympy/core/cache.py", line 88, in wrapper
    func_cache_it_cache[k] = r = func(*args, **kw_args)
  File "sympy/core/function.py", line 127, in __new__
    evaluated = cls.eval(*args)
  File "sympy/functions/elementary/complexes.py", line 371, in eval
    tnew = cls(t)
  File "sympy/core/cache.py", line 88, in wrapper
    func_cache_it_cache[k] = r = func(*args, **kw_args)
  File "sympy/core/function.py", line 288, in __new__
    result = super(Function, cls).__new__(cls, *args, **options)
  File "sympy/core/cache.py", line 88, in wrapper
    func_cache_it_cache[k] = r = func(*args, **kw_args)
  File "sympy/core/function.py", line 127, in __new__
    evaluated = cls.eval(*args)
  File "sympy/functions/elementary/complexes.py", line 381, in eval
    if arg.is_nonnegative:
  File "sympy/core/assumptions.py", line 139, in getit
    return _ask(fact, self)
  File "sympy/core/assumptions.py", line 191, in _ask
    _ask(pk, obj)
  File "sympy/core/assumptions.py", line 181, in _ask
    a = evaluate(obj)
  File "sympy/core/power.py", line 191, in _eval_is_real
    if self.base.is_positive:
  File "sympy/core/assumptions.py", line 139, in getit
    return _ask(fact, self)
  File "sympy/core/assumptions.py", line 191, in _ask
    _ask(pk, obj)
  File "sympy/core/assumptions.py", line 181, in _ask
    a = evaluate(obj)
  File "sympy/core/expr.py", line 600, in _eval_is_negative
    n2 = self._eval_evalf(1)
  File "sympy/core/function.py", line 385, in _eval_evalf
    v = func(*args)
  File "sympy/mpmath/functions/functions.py", line 287, in log
    return ctx.ln(x)
  File "sympy/mpmath/ctx_mp_python.py", line 993, in f
    return ctx.make_mpf(mpf_f(x._mpf_, prec, rounding))
File "ext_libmp.pyx", line 90, in sage.libs.mpmath.ext_libmp.mpf_log (sage/libs/mpmath/ext_libmp.c:3090)
ValueError




--
You received this message because you are subscribed to the Google Groups 
"sympy-issues" group.
To post to this group, send email to sympy-issues@googlegroups.com.
To unsubscribe from this group, send email to 
sympy-issues+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy-issues?hl=en.

Reply via email to