(abs_integrate.info)Introduction to abs_integrate


Next: Definitions for abs_integrate Prev: Top Up: Top
Enter node , (file) or (file)node

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