Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 4034 by [email protected]: concrete/products.py:
_eval_product() infinite recursion
http://code.google.com/p/sympy/issues/detail?id=4034
x=symbols('x')
n,k = symbols('n k', integer=True, positive=True)
Product(x**2-2*x*cos(k*pi/n)+1, (k,1,n-1)).doit()
Produces infinite recursion:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/pape/sympy/sympy/concrete/products.py", line 303, in doit
g = self._eval_product(f, (i, a, b))
File "/home/pape/sympy/sympy/concrete/products.py", line 362, in
_eval_product
p = self._eval_product(p, (k, a, n))
File "/home/pape/sympy/sympy/concrete/products.py", line 362, in
_eval_product
...
...
p = self._eval_product(p, (k, a, n))
File "/home/pape/sympy/sympy/concrete/products.py", line 342, in
_eval_product
elif term.is_polynomial(k):
File "/home/pape/sympy/sympy/core/expr.py", line 2211, in is_polynomial
return self._eval_is_polynomial(syms)
File "/home/pape/sympy/sympy/core/add.py", line 439, in
_eval_is_polynomial
return all(term._eval_is_polynomial(syms) for term in self.args)
File "/home/pape/sympy/sympy/core/add.py", line 439, in <genexpr>
return all(term._eval_is_polynomial(syms) for term in self.args)
File "/home/pape/sympy/sympy/core/mul.py", line 913, in
_eval_is_polynomial
return all(term._eval_is_polynomial(syms) for term in self.args)
File "/home/pape/sympy/sympy/core/mul.py", line 913, in <genexpr>
return all(term._eval_is_polynomial(syms) for term in self.args)
File "/home/pape/sympy/sympy/core/expr.py", line 2141, in
_eval_is_polynomial
if self.free_symbols.intersection(syms) == set([]):
File "/home/pape/sympy/sympy/core/basic.py", line 559, in free_symbols
return reduce(union, [arg.free_symbols for arg in self.args], set())
File "/home/pape/sympy/sympy/core/basic.py", line 559, in free_symbols
return reduce(union, [arg.free_symbols for arg in self.args], set())
File "/home/pape/sympy/sympy/core/basic.py", line 559, in free_symbols
return reduce(union, [arg.free_symbols for arg in self.args], set())
File "/home/pape/sympy/sympy/core/symbol.py", line 136, in free_symbols
return set([self])
RuntimeError: maximum recursion depth exceeded
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
You received this message because you are subscribed to the Google Groups
"sympy-issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy-issues.
For more options, visit https://groups.google.com/groups/opt_out.