Sum simplification



hi dan,

> I have the following sum, which is coth(x)-1/x:
> sum(((4^i * bern(2 * i) * x^(2 * i - 1))/((2 * i)!)),i,0,inf) - (1/x).
> Is there a maxima or a commercial macsyma function
> which will evaluate the first term of the sum, perform the
> simplification, and return a sum starting from i=1?

i don't know of any built-in function, but maybe the following
simple-minded hackery is useful to you.

explicit_terms (x, n) := if atom(x) or not sump(x) then x else block
([a: args(x)], funmake (op(x), [first(a), second(a), third(a),
third(a) + n - 1]) + funmake (op(x), [first(a), second(a), third(a) +
n, fourth(a)]));

sump(x) := not atom(x) and (op(x) = nounify(sum) or op(x) = verbify(sum));

expr: sum(((4^i * bern(2 * i) * x^(2 * i - 1))/((2 * i)!)),i,0,inf);

explicit_terms (expr, 1) - 1/x;
  => 'sum(4^i*bern(2*i)*x^(2*i-1)/(2*i)!,i,1,inf)


anyway i hope this is helpful to you.

robert dodier