e.g.
sage: hypergeometric([-2,-1],[2],-1).n(100)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-4-0bef797c6f48> in <module>()
----> 1 hypergeometric([-Integer(2),-Integer(1)],[Integer(2)],-Integer(1)).n(Integer(100))
/home/scratch/dimpase/sage/sage6.3/local/lib/python2.7/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression._numerical_approx (build/cythonized/sage/symbolic/expression.cpp:26972)()
/home/scratch/dimpase/sage/sage6.3/local/lib/python2.7/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression._convert (build/cythonized/sage/symbolic/expression.cpp:7667)()
/home/scratch/dimpase/sage/sage6.3/local/lib/python2.7/site-packages/sage/functions/hypergeometric.pyc in _evalf_(self, a, b, z, parent, algorithm)
294 aa = [rational_param_as_tuple(c) for c in a]
295 bb = [rational_param_as_tuple(c) for c in b]
--> 296 return mpmath_utils.call(hyper, aa, bb, z, parent=parent)
297
298 def _tderivative_(self, a, b, z, *args, **kwargs):
/home/scratch/dimpase/sage/sage6.3/local/lib/python2.7/site-packages/sage/libs/mpmath/utils.so in sage.libs.mpmath.utils.call (build/cythonized/sage/libs/mpmath/utils.c:6309)()
/home/scratch/dimpase/sage/sage6.3/local/lib/python2.7/site-packages/mpmath/functions/hypergeometric.pyc in hyper(ctx, a_s, b_s, z, **kwargs)
223 elif q == 0: return ctx._hyp1f0(a_s[0][0], z)
224 elif p == 2:
--> 225 if q == 1: return ctx._hyp2f1(a_s, b_s, z, **kwargs)
226 elif q == 2: return ctx._hyp2f2(a_s, b_s, z, **kwargs)
227 elif q == 3: return ctx._hyp2f3(a_s, b_s, z, **kwargs)
/home/scratch/dimpase/sage/sage6.3/local/lib/python2.7/site-packages/mpmath/functions/hypergeometric.pyc in _hyp2f1(ctx, a_s, b_s, z, **kwargs)
442 if absz <= 0.8 or (ctx.isint(a) and a <= 0 and a >= -1000) or \
443 (ctx.isint(b) and b <= 0 and b >= -1000):
--> 444 return ctx.hypsum(2, 1, (atype, btype, ctype), [a, b, c], z, **kwargs)
445
446 orig = ctx.prec
/home/scratch/dimpase/sage/sage6.3/local/lib/python2.7/site-packages/mpmath/ctx_mp.pyc in hypsum(ctx, p, q, flags, coeffs, z, accurate_small, **kwargs)
686 while 1:
687 if extraprec > maxprec:
--> 688 raise ValueError(ctx._hypsum_msg % (prec, prec+extraprec))
689 wp = prec + extraprec
690 if magnitude_check:
ValueError: hypsum() failed to converge to the requested 100 bits of accuracy
using a working precision of 7135 bits. Try with a higher maxprec,
maxterms, or set zeroprec.
sage:
using a working precision of 66315 bits. Try with a higher maxprec,
sage: maxima_calculus.hgfpoly([1,2],[2],-1)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-6-a307d86456bf> in <module>()
----> 1 maxima_calculus.hgfpoly([Integer(1),Integer(2)],[Integer(2)],-Integer(1))
/home/scratch/dimpase/sage/sage6.3/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in __call__(self, *args, **kwds)
561
562 def __call__(self, *args, **kwds):
--> 563 return self._parent.function_call(self._name, list(args), kwds)
564
565 def _sage_doc_(self):
/home/scratch/dimpase/sage/sage6.3/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in function_call(self, function, args, kwds)
488 ['%s=%s'%(key,
value.name()) for key, value in kwds.items()])
--> 489 return self.new(s)
490
491 def _function_call_string(self, function, args, kwds):
/home/scratch/dimpase/sage/sage6.3/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in new(self, code)
262
263 def new(self, code):
--> 264 return self(code)
265
266 ###################################################################
/home/scratch/dimpase/sage/sage6.3/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in __call__(self, x, name)
197
198 if isinstance(x, basestring):
--> 199 return cls(self, x, name=name)
200 try:
201 return self._coerce_from_special_method(x)
/home/scratch/dimpase/sage/sage6.3/local/lib/python2.7/site-packages/sage/interfaces/interface.pyc in __init__(self, parent, value, is_name, name)
624 self._name = parent._create(value, name=name)
625 except (TypeError, RuntimeError, ValueError) as x:
--> 626 raise TypeError(x)
627
628 def _latex_(self):
TypeError: ECL says: In function -, the value of the only argument is
NIL
which is not of the expected type NUMBER
sage:
is any of these known? In the 1st case, looks like numeric evaluation of qFp by mpmath is
seriously broken...