Hello,
while working on a ticket I encountered different behaviour of python sum
in Sage regarding whether the sum (over a symbolic expression applied to a 
range)
was given on the command line vs. in Sage-lib (python file) within a 
function definition.

Specifically, applying this one-line patch on top of develop:
diff --git a/src/sage/rings/arith.py b/src/sage/rings/arith.py
--- a/src/sage/rings/arith.py

+++ b/src/sage/rings/arith.py
@@ -5336,6 +5336,7 @@ def subfactorial(n):
 
     - Jaap Spies (2007-01-23)
     """
+    from sage.functions.other import factorial
     return factorial(n)*sum(((-1)**k)/factorial(k) for k in range(n+1))

will show on the command line:
sage: subfactorial(8)
-120960
which is wrong but when I define the same function there:
sage: from sage.functions.other import factorial
sage: def subf(n):                              
        return factorial(n)*sum(((-1)**k)/factorial(k) for k in range(n+1))
....: 
sage: subf(8)                           
14833

This effect only happens with Python sum/prod. So, what difference does
using Python sum/prod on the command line make vs. in a py file?

Please help,


-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to