>
> /Users/s/sw/sage/local/lib/python2.6/site-packages/sage/calculus/
> calculus.pyc in symbolic_sum(expression, v, a, b, algorithm)
>     499
>     500     if algorithm == 'maxima':
> --> 501         sum  = "'sum(%s, %s, %s, %s)" %
> tuple([repr(expr._maxima_()) for expr in (expression, v, a, b)])
>     502         try:
>     503             result = maxima.simplify_sum(sum)
>
> AttributeError: 'int' object has no attribute '_maxima_'

I think that this message says the problem isn't iterators.  For
instance,

var('k n m')
for item in [n,m]:
     sum(k,k,1,item)

works.  The error message makes it clear that since you used range
(and not srange?), you get Python ints, not Sage integers, and
apparently we don't have a coercion for Python ints to become Maxima
objects.

As a temporary workaround, I'd use

for n in [1..10]:
    sum(k,k,1,n)

which works fine since

type(n)
<type 'sage.rings.integer.Integer'>

But this really is a bug, I think.  See 
http://trac.sagemath.org/sage_trac/ticket/9630
.

I feel like this is also related to discussion about making input to
certain functions be Sage objects; if we did sage(blah) to inputs blah
this could be avoided, though presumably this would be nasty overhead.

- kcrisman

-- 
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to