(abs_integrate.info)Introduction to abs_integrate
1.1 Introduction to abs_integrate
=================================
The package 'abs_integrate' extends Maxima's integration code to some
integrands that involve the absolute value, max, min, signum, or unit
step functions. For integrands of the form p(x) |q(x)|, where p is a
polynomial and q is a polynomial that 'factor' is able to factor into a
product of linear or constant terms, the 'abs_integrate' package
determines an antiderivative that is continuous on the entire real line.
Additionally, for an integrand that involves one or more parameters, the
function 'conditional_integrate' tries to determine an antiderivative
that is valid for all parameter values.
Examples To use the 'abs_integrate' package, you'll first need to
load it:
(%i1) load("abs_integrate.mac")$
(%i2) integrate(abs(x),x);
(%o2) (x*abs(x))/2
To convert (%o2) into an expression involving the signum function,
apply 'convert_to_signum'; thus
(%i3) convert_to_signum(%);
(%o3) (x^2*signum(x))/2
When the integrand has the form p(x) |x - c1| |x - c2| ... |x - cn|,
where p(x) is a polynomial and c1, c2, ..., cn are constants, the
'abs_integrate' package returns an antiderivative that is valid on the
entire real line; thus without making assumptions on a and b; for
example
(%i4) factor(convert_to_signum(integrate(abs((x-a)*(x-b)),x,a,b)));
(%o4) ((b-a)^3*signum(b-a)^2)/6
Additionally, 'abs_integrate' is able to find antiderivatives of some
integrands involving 'max, min, signum', and 'unit_step'; examples:
(%i5) integrate(max(x,x^2),x);
(%o5) (signum(x-1)*((2*x^3-3*x^2)/12+1/12)+1/12)*signum(x)+
(x^3/3+x^2/2)/2
(%i6) integrate(signum(x) - signum(1-x),x);
(%o6) abs(x)+abs(x-1)
A plot indicates that indeed (%o5) and (%o6) are continuous at zero
and at one.
For definite integrals with numerical integration limits (including
both minus and plus infinity), the 'abs_integrate' package converts the
integrand to signum form and then it tries to subdivide the integration
region so that the integrand simplifies to a non-signum expression on
each subinterval; for example
(%i1) integrate(1 / (1 + abs(x-5)),x,-5,6);
(%o1) log(11)+log(2)
Finally, 'abs_integrate' is able to determine antiderivatives of
_some_ functions of the form F(x, |x - a|); examples
(%i2) integrate(1/(1 + abs(x)),x);
(%o2) ((signum(x)+1)*log(x+1))/2-(log(1-x)*(1-signum(x)))/2
(%i3) integrate(cos(x + abs(x)),x);
(%o3) ((signum(x)+1)*sin(2*x)-2*x*signum(x)+2*x)/4
Barton Willis (Professor of Mathematics, University of Nebraska at
Kearney) wrote the 'abs_integrate' package and its English language user
documentation. This documentation also describes the 'partition'
package for integration. Richard Fateman wrote 'partition'. Additional
documentation for 'partition' is located at
<https://people.eecs.berkeley.edu/~fateman/papers/partition.pdf>.
To use 'load(abs_integrate)'
automatically generated by info2www version 1.2.2.9