Opened 3 months ago

Last modified 6 weeks ago

#31557 new defect

Fix product(-x, x, 1, SR.var('n')) to return (-1)^n*factorial(n)

Reported by: slelievre Owned by:
Priority: major Milestone: sage-9.4
Component: symbolics Keywords: symbolic_product, maxima
Cc: gh-robert-dodier, slelievre Merged in:
Authors: Reviewers:
Report Upstream: Fixed upstream, but not in a stable release. Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by slelievre)

From #30520.

Observed:

sage: product(-x, x, 1, SR.var('n'))
#0: simplify_product(product='product(-_SAGE_VAR_x,_SAGE_VAR_x,1,_SAGE_VAR_n))
...
Traceback (most recent call last)
...
RuntimeError: ECL says: Error executing code in Maxima:
factorial: factorial of negative integer -1 not defined.

or equivalently:

sage: from sage.calculus.calculus import symbolic_product
sage: x, n = SR.var('x, n')
sage: symbolic_product(-x, x, 1, n)
#0: simplify_product(product='product(-_SAGE_VAR_x,_SAGE_VAR_x,1,_SAGE_VAR_n))
...
Traceback (most recent call last)
...
RuntimeError: ECL says: Error executing code in Maxima:
factorial: factorial of negative integer -1 not defined.

Expected:

sage: from sage.calculus.calculus import symbolic_product
sage: x, n = SR.var('x, n')
sage: symbolic_product(-x, x, 1, n)
(-1)^n*factorial(n)

Fixed upstream by this commit:

Change History (6)

comment:2 Changed 2 months ago by gh-robert-dodier

I've pushed commit c584c24 on maxima-code/master to fix this bug.

comment:3 Changed 2 months ago by slelievre

  • Description modified (diff)
  • Report Upstream changed from N/A to Fixed upstream, but not in a stable release.

Thanks for fixing this and for the heads-up.

This should be applied as a patch in Sage until a Maxima release has this and we upgrade to it.

comment:4 Changed 2 months ago by slelievre

  • Description modified (diff)

comment:5 Changed 2 months ago by gh-robert-dodier

Oops, spoke too soon. Commit c584c24 causes a stack overflow in some other code (namely simplify_sum). Commit c584c24 has been reverted, and I'm working on an update. Sorry to say the problem isn't actually fixed yet.

comment:6 Changed 6 weeks ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.4

Moving to 9.4, as 9.3 has been released.

Note: See TracTickets for help on using tickets.