Issue 1191: Sum is broken for direct sums over 10 terms http://code.google.com/p/sympy/issues/detail?id=1191
New issue report by ellisonbg.net: In [1]: from sympy.physics.secondquant import * In [2]: H = Sum((n+Rational(1,2))*Ket([n])*Bra([n]), (n,0,100)) In [3]: H.doit() This gives a huge exception, but it works fine for (n,0,99). The code in Sum treats these two cases differently for performance reasons, but the >=100 case has some bugs. Unfortunately, I can't reproduce this using code that is only in Sympy. The required code is in the secondquant module in this github branch: http://github.com/ellisonbg/sympy/tree/physics Ondrej knows about this branch and the code it contains. Here is the exception --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) /Users/bgranger/Documents/Computation/Sympy/Code/sympy/<ipython console> in <module>() /Users/bgranger/Documents/Computation/Sympy/Code/sympy/sympy/concrete/summations.pyc in doit(self, **hints) 67 f = self.function 68 for i, a, b in self.limits: ---> 69 f = eval_sum(f, (i, a, b)) 70 if f is None: 71 return self /Users/bgranger/Documents/Computation/Sympy/Code/sympy/sympy/concrete/summations.pyc in eval_sum(f, (i, a, b)) 226 # this can save time when b-a is big. 227 # We should try to transform to partial fractions --> 228 value = eval_sum_symbolic(f.expand(), (i, a, b)) 229 if value is not None: 230 return value /Users/bgranger/Documents/Computation/Sympy/Code/sympy/sympy/concrete/summations.pyc in eval_sum_symbolic(f, (i, a, b)) 247 if f.is_Add: 248 L, R = getab(f) --> 249 lrsum = telescopic(L, R, (i, a, b)) 250 if lrsum: return lrsum 251 lsum = eval_sum_symbolic(L, (i, a, b)) /Users/bgranger/Documents/Computation/Sympy/Code/sympy/sympy/concrete/summations.pyc in telescopic(L, R, (i, a, b)) 206 m = Symbol("m") 207 try: --> 208 s = solve(L.subs(i, i + m) + R, m)[0] 209 except ValueError: 210 pass /Users/bgranger/Documents/Computation/Sympy/Code/sympy/sympy/solvers/solvers.pyc in solve(f, *symbols, **flags) 82 83 if len(symbols) == 1: ---> 84 poly = f.as_poly(*symbols) 85 86 if poly is not None: /Users/bgranger/Documents/Computation/Sympy/Code/sympy/sympy/core/basic.pyc in as_poly(self, *symbols, **flags) 866 symbols = sorted(self.atoms(Symbol)) 867 --> 868 return Poly(self, *symbols, **flags) 869 except PolynomialError: 870 return None /Users/bgranger/Documents/Computation/Sympy/Code/sympy/sympy/polys/polynomial.pyc in __new__(cls, poly, *symbols, **flags) 398 terms = Poly._permute(poly, *symbols) 399 else: --> 400 terms = Poly._decompose(poly, *symbols) 401 402 if terms: /Users/bgranger/Documents/Computation/Sympy/Code/sympy/sympy/polys/polynomial.pyc in _decompose(poly, *symbols) 525 526 for factor in factors: --> 527 if factor.has_any_symbols(*symbols): 528 if factor.is_Pow: 529 if factor.exp.is_Integer: /Users/bgranger/Documents/Computation/Sympy/Code/sympy/sympy/core/cache.pyc in wrapper(*args, **kw_args) 83 except KeyError: 84 pass ---> 85 func_cache_it_cache[k] = r = func(*args, **kw_args) 86 return r 87 /Users/bgranger/Documents/Computation/Sympy/Code/sympy/sympy/core/basic.pyc in has_any_symbols(self, *syms) 1054 return False 1055 -> 1056 return search(self) 1057 1058 @cacheit /Users/bgranger/Documents/Computation/Sympy/Code/sympy/sympy/core/basic.pyc in search(expr) 1049 else: 1050 for term in expr.iter_basic_args(): -> 1051 if search(term): 1052 return True 1053 else: /Users/bgranger/Documents/Computation/Sympy/Code/sympy/sympy/core/basic.pyc in search(expr) 1042 else: 1043 def search(expr): -> 1044 if expr.is_Atom: 1045 if expr.is_Symbol: 1046 return expr in syms AttributeError: 'tuple' object has no attribute 'is_Atom' Issue attributes: Status: New Owner: ---- Labels: Type-Defect Priority-Medium -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sympy-issues" 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-issues?hl=en -~----------~----~----~----~------~----~------~--~---
