123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- \chapter{DEFINT: Definite Integration for REDUCE}
- \label{DEFINT}
- \typeout{{DEFINT: Definite Integration for REDUCE}}
- {\footnotesize
- \begin{center}
- Kerry Gaskell and Winfried Neun \\
- Konrad--Zuse--Zentrum f\"ur Informationstechnik Berlin \\
- Takustra\"se 7 \\
- D--14195 Berlin--Dahlem, Germany \\[0.05in]
- e--mail: neun@zib.de \\[0.10in]
- Stanley L. Kameny \\
- Los Angeles, U.S.A.
- \end{center}
- }
- \ttindex{DEFINT}
- \REDUCE{}'s definite integration package is able to calculate the
- definite integrals of many functions, including several special
- functions. There are a number of parts of this package, including
- contour integration. The innovative integration process is to
- represent each function as a Meijer G-function, and then calculating
- the integral by using the following Meijer G integration formula.
- \begin{displaymath}
- \int_{0}^{\infty} x^{\alpha-1} G^{s t}_{u v}
- \left( \sigma x \ \Bigg\vert \ {( c_u) \atop (d_v)} \right)
- G^{m n}_{p q} \left( \omega x^{l/k} \ \Bigg\vert \ {(a_p) \atop (b_q)}
- \right) dx = k G^{i j}_{k l} \left( \xi \ \Bigg\vert \
- {(g_k) \atop (h_l)} \right) \hspace{5mm} (1)
- \end{displaymath}
- The resulting Meijer G-function is then retransformed, either directly
- or via a hypergeometric function simplification, to give
- the answer.
- The user interface is via a four argument version of the
- \f{INT}\ttindex{INT} operator, with the lower and upper limits added.
- \begin{verbatim}
- load_package defint;
- int(sin x,x,0,pi/2);
- 1
- \end{verbatim}
- \newpage
- \begin{verbatim}
- int(log(x),x,1,5);
- 5*log(5) - 4
- int(x*e^(-1/2x),x,0,infinity);
- 4
- int(x^2*cos(x)*e^(-2*x),x,0,infinity);
- 4
- -----
- 125
- int(x^(-1)*besselj(2,sqrt(x)),x,0,infinity);
- 1
- int(si(x),x,0,y);
- cos(y) + si(y)*y - 1
- int(besselj(2,x^(1/4)),x,0,y);
- 1/4
- 4*besselj(3,y )*y
- ---------------------
- 1/4
- y
- \end{verbatim}
- The DEFINT package also defines a number of additional transforms,
- such as the Laplace transform\index{Laplace transform}\footnote{See
- Chapter~\ref{LAPLACE} for an alternative Laplace transform with
- inverse Laplace transform}, the Hankel
- transform\index{Hankel transform}, the Y-transform\index{Y-transform},
- the K-transform\index{K-transform}, the StruveH
- transform\index{StruveH transform}, the Fourier sine
- transform\index{Fourier sine transform}, and the Fourier cosine
- transform\index{Fourier cosine transform}.
- \begin{verbatim}
- laplace_transform(cosh(a*x),x);
- - s
- ---------
- 2 2
- a - s
- laplace_transform(Heaviside(x-1),x);
- 1
- ------
- s
- e *s
- hankel_transform(x,x);
- n + 4
- gamma(-------)
- 2
- -------------------
- n - 2 2
- gamma(-------)*s
- 2
- fourier_sin(e^(-x),x);
- s
- --------
- 2
- s + 1
- fourier_cos(x,e^(-1/2*x^2),x);
- 2
- i*s s /2
- sqrt( - pi)*erf(---------)*s + e *sqrt(2)
- sqrt(2)
- ----------------------------------------------
- 2
- s /2
- e *sqrt(2)
- \end{verbatim}
- It is possible to the user to extend the pattern-matching process by
- which the relevant Meijer G representation for any function is found.
- Details can be found in the complete documentation.
- \noindent{\bf Acknowledgement:}
- This package depends greatly on the pioneering work of Victor
- Adamchik, to whom thanks are due.
|