partitioning instead of matching so much



-----maxima-bounces at math.utexas.edu wrote: -----

>I've?written?up?some?programs?that?are?largely?alternatives?to?matching.
>I?show?how?the?"derivative?divides"?symbolic?integration?in?Joel?Moses'
>SIN?program,
one?of?the?initial?methods?in?Maxima's?program,?can?be?written?in?half?a
>page?or?so,

Cool--I changed my abs_integrate to allow a user to append new integration
methods
by appending a function name to a list of integration methods. I hooked up
your
derivative divides code; here is a short demo:

(%i2) load("abs_integrate.mac")$  (not yet in CVS)
(%i4) integrate(a*Ci(x),x);
(%o4) a*(x*Ci(x)-sin(x))

(%i5) integrate(Si(1 - x^2) * x,x);
(%o5) (cos(x^2-1)-(1-x^2)*Si(1-x^2))/2

(%i6) integrate(bessel_j(1, x/42),x);
(%o6) -42*bessel_j(0,x/42)

An option variable extra_integration_methods holds the additional methods
(intfudu is the derivative divides code):

(%i7) extra_integration_methods;
(%o7) [intfudu,signum_int]

(%i8) extra_integration_methods : [];
(%o8) []

(%i9) integrate(bessel_j(1, x/42),x);
(%o9) integrate(bessel_j(1,x/42),x)

Barton