Infinite sums



On 9/24/07, Alexey Beshenov <al at beshenov.ru> wrote:
> It seems that Maxima could not handle many simple cases of infinite sums.
>     sum (1/n, n, 0, inf), simpsum;

Maxima has several different ways of simplifying/evaluating sums:

   - The default simplifier does only trivial cases e.g. 'sum(0,...) =>
   0; sum(freeof_i,i,a,b) (b>=a) => (b-a+1)*freeof_i; etc.
   - The verb/procedure "sum" mostly expands, e.g.
   sum(f(i),i,2,3)=>f(2)+f(3)
   - The flag simpsum=true tells the simplifier to handle some more cases
   e.g. sum(a^i,...), sum(i^N,...).
   - The procedure nusum uses Gosper's algorithm, but doesn't handle inf.
   - Some newer code to simplify sums, such as Andrej's simplify_sum.

This is all very confusing.  Some functionality is procedural, some is in
simplification, some is controlled by flags.  Part of the problem is that
beyond the regular "verb" meaning like integrate/limit/diff, which change
the form of the argument; and the regular "noun" meaning like
'integrate/'limit/'diff, where a mathematical concept is simply expressed;
there is also the "programming" meaning similar to makelist.  The three are
of course closely related, so we wouldn't want to have do_sum in addition to
sum and 'sum.

But it does seem that we should simplify and clarify all this.  Ideas?

          -s