> 2. what does this declare do?
(%i1) describe(additive);
0: ADDITIVE :(maxima.info)Definitions for Operators.
Info from file /home/vttoth/dev/maxima/maxima/doc/info/maxima.info:
- special symbol: ADDITIVE
- If DECLARE(F,ADDITIVE) has been executed, then: (1) If F is
univariate, whenever the simplifier encounters F applied to a sum,
F will be distributed over that sum. I.e. F(Y+X); will simplify
to F(Y)+F(X). (2) If F is a function of 2 or more arguments,
additivity is defined as additivity in the first argument to F, as
in the case of 'SUM or 'INTEGRATE, i.e. F(H(X)+G(X),X); will
simplify to F(H(X),X)+F(G(X),X). This simplification does not
occur when F is applied to expressions of the form
SUM(X[I],I,lower-limit,upper-limit).
> I just did declare(abl,additive); but abl(x^2+3*x,x) just gives a 2x
(%i2) declare(abl,additive);
(%o2) done
(%i3) abl(x^2+3*x,x);
2
(%o3) abl(x , x) + abl(3 x, x)
Viktor