Can you open issues for all of these, so that we don't forget about them? Aaron Meurer
On Wed, Apr 25, 2012 at 6:08 PM, Kjetil brinchmann Halvorsen <[email protected]> wrote: > And here is one example that leads to an internal error: > > In [50]: summation( (-1)**k * binomial(2*n,k)**2, (k,0,oo)) > --------------------------------------------------------------------------- > NameError Traceback (most recent call last) > /home/kjetil/py/sympy/sympy/sympy/<ipython-input-50-ba135c6f6f06> in > <module>() > ----> 1 summation( (-1)**k * binomial(2*n,k)**2, (k,0,oo)) > > /home/kjetil/py/sympy/sympy/sympy/sympy/concrete/summations.pyc in > summation(f, *symbols, **kwargs) > 307 > 308 """ > --> 309 return Sum(f, *symbols, **kwargs).doit(deep=False) > 310 > 311 def telescopic_direct(L, R, n, limits): > > /home/kjetil/py/sympy/sympy/sympy/sympy/concrete/summations.pyc in > doit(self, **hints) > 139 a, b = b, a > 140 > --> 141 f = eval_sum(f, (i, a, b)) > 142 if f is None: > 143 return self > > /home/kjetil/py/sympy/sympy/sympy/sympy/concrete/summations.pyc in > eval_sum(f, limits) > 389 # this can save time when b-a is big. > > 390 # We should try to transform to partial fractions > > --> 391 value = eval_sum_symbolic(f.expand(), (i, a, b)) > 392 if value is not None: > 393 return value > > /home/kjetil/py/sympy/sympy/sympy/sympy/concrete/summations.pyc in > eval_sum_symbolic(f, limits) > 475 return r > 476 > --> 477 return eval_sum_hyper(f, (i, a, b)) > 478 > 479 def _eval_sum_hyper(f, i, a): > > /home/kjetil/py/sympy/sympy/sympy/sympy/concrete/summations.pyc in > eval_sum_hyper(f, (i, a, b)) > 558 > 559 # Now b == oo, a != -oo > > --> 560 res = _eval_sum_hyper(f, i, a) > 561 if res is not None: > 562 return Piecewise(res, (Sum(f, (i, a, b)), True)) > > /home/kjetil/py/sympy/sympy/sympy/sympy/concrete/summations.pyc in > _eval_sum_hyper(f, i, a) > 523 h = hyper(ap, bq, x) > 524 > --> 525 return f.subs(i, 0)*hyperexpand(h), h.convergence_statement > 526 > 527 def eval_sum_hyper(f, (i, a, b)): > > /home/kjetil/py/sympy/sympy/sympy/sympy/simplify/hyperexpand.pyc in > hyperexpand(f, allow_hyper, rewrite) > 2445 if not r.has(nan, zoo, oo, -oo): > 2446 return r > -> 2447 return f.replace(hyper, do_replace).replace(meijerg, do_meijer) > 2448 > 2449 from sympy.polys.polytools import Poly > > /home/kjetil/py/sympy/sympy/sympy/sympy/core/basic.pyc in replace(self, > query, value, map) > 1315 return None > 1316 > -> 1317 result = rec_replace(self) > 1318 > 1319 if result is None: > > /home/kjetil/py/sympy/sympy/sympy/sympy/core/basic.pyc in rec_replace(expr) > 1306 > 1307 if result: > -> 1308 value = _value(expr, result) > 1309 > 1310 if map: > > /home/kjetil/py/sympy/sympy/sympy/sympy/core/basic.pyc in <lambda>(expr, > result) > 1263 _value = lambda expr, result: value(*expr.args) > 1264 elif callable(value): > -> 1265 _value = lambda expr, result: value(*expr.args) > 1266 else: > 1267 raise TypeError("given a type, replace() expects > another type or a callable") > > /home/kjetil/py/sympy/sympy/sympy/sympy/simplify/hyperexpand.pyc in > do_replace(ap, bq, z) > 2434 > 2435 def do_replace(ap, bq, z): > -> 2436 r = _hyperexpand(IndexPair(ap, bq), z, rewrite=rewrite) > 2437 if r is None: > 2438 return hyper(ap, bq, z) > > /home/kjetil/py/sympy/sympy/sympy/sympy/simplify/hyperexpand.pyc in > _hyperexpand(ip, z, ops0, z0, premult, prem, rewrite) > 1996 if unpolarify(z) in [1, -1] and (len(nip.ap), len(nip.bq)) == > (2, 1): > 1997 f = build_hypergeometric_formula(nip) > -> 1998 r = carryout_plan(f, ops).replace(hyper, > hyperexpand_special) > 1999 if not r.has(hyper): > 2000 return r + p > > /home/kjetil/py/sympy/sympy/sympy/sympy/core/basic.pyc in replace(self, > query, value, map) > 1315 return None > 1316 > -> 1317 result = rec_replace(self) > 1318 > 1319 if result is None: > > /home/kjetil/py/sympy/sympy/sympy/sympy/core/basic.pyc in rec_replace(expr) > 1306 > 1307 if result: > -> 1308 value = _value(expr, result) > 1309 > 1310 if map: > > /home/kjetil/py/sympy/sympy/sympy/sympy/core/basic.pyc in <lambda>(expr, > result) > 1263 _value = lambda expr, result: value(*expr.args) > 1264 elif callable(value): > -> 1265 _value = lambda expr, result: value(*expr.args) > 1266 else: > 1267 raise TypeError("given a type, replace() expects > another type or a callable") > > /home/kjetil/py/sympy/sympy/sympy/sympy/simplify/hyperexpand.pyc in > hyperexpand_special(ap, bq, z) > 1911 if b.is_integer and b < 0: > 1912 return 2*cos(pi*b/2)*gamma(-b)*gamma(b - a + 1) \ > -> 1913 /gamma(-b/2)/gamma(b/2 - a + 1) > 1914 else: > 1915 return gamma(b/2 + 1)*gamma(b - a + 1) \ > > NameError: global name 'pi' is not defined > > Kjetil > > > -- > "If you want a picture of the future - imagine a boot stamping on the human > face - forever." > > George Orwell (1984) > > > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/sympy?hl=en. -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
