defint.tex 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. \chapter{DEFINT: Definite Integration for REDUCE}
  2. \label{DEFINT}
  3. \typeout{{DEFINT: Definite Integration for REDUCE}}
  4. {\footnotesize
  5. \begin{center}
  6. Kerry Gaskell and Winfried Neun \\
  7. Konrad--Zuse--Zentrum f\"ur Informationstechnik Berlin \\
  8. Takustra\"se 7 \\
  9. D--14195 Berlin--Dahlem, Germany \\[0.05in]
  10. e--mail: neun@zib.de \\[0.10in]
  11. Stanley L. Kameny \\
  12. Los Angeles, U.S.A.
  13. \end{center}
  14. }
  15. \ttindex{DEFINT}
  16. \REDUCE{}'s definite integration package is able to calculate the
  17. definite integrals of many functions, including several special
  18. functions. There are a number of parts of this package, including
  19. contour integration. The innovative integration process is to
  20. represent each function as a Meijer G-function, and then calculating
  21. the integral by using the following Meijer G integration formula.
  22. \begin{displaymath}
  23. \int_{0}^{\infty} x^{\alpha-1} G^{s t}_{u v}
  24. \left( \sigma x \ \Bigg\vert \ {( c_u) \atop (d_v)} \right)
  25. G^{m n}_{p q} \left( \omega x^{l/k} \ \Bigg\vert \ {(a_p) \atop (b_q)}
  26. \right) dx = k G^{i j}_{k l} \left( \xi \ \Bigg\vert \
  27. {(g_k) \atop (h_l)} \right) \hspace{5mm} (1)
  28. \end{displaymath}
  29. The resulting Meijer G-function is then retransformed, either directly
  30. or via a hypergeometric function simplification, to give
  31. the answer.
  32. The user interface is via a four argument version of the
  33. \f{INT}\ttindex{INT} operator, with the lower and upper limits added.
  34. \begin{verbatim}
  35. load_package defint;
  36. int(sin x,x,0,pi/2);
  37. 1
  38. \end{verbatim}
  39. \newpage
  40. \begin{verbatim}
  41. int(log(x),x,1,5);
  42. 5*log(5) - 4
  43. int(x*e^(-1/2x),x,0,infinity);
  44. 4
  45. int(x^2*cos(x)*e^(-2*x),x,0,infinity);
  46. 4
  47. -----
  48. 125
  49. int(x^(-1)*besselj(2,sqrt(x)),x,0,infinity);
  50. 1
  51. int(si(x),x,0,y);
  52. cos(y) + si(y)*y - 1
  53. int(besselj(2,x^(1/4)),x,0,y);
  54. 1/4
  55. 4*besselj(3,y )*y
  56. ---------------------
  57. 1/4
  58. y
  59. \end{verbatim}
  60. The DEFINT package also defines a number of additional transforms,
  61. such as the Laplace transform\index{Laplace transform}\footnote{See
  62. Chapter~\ref{LAPLACE} for an alternative Laplace transform with
  63. inverse Laplace transform}, the Hankel
  64. transform\index{Hankel transform}, the Y-transform\index{Y-transform},
  65. the K-transform\index{K-transform}, the StruveH
  66. transform\index{StruveH transform}, the Fourier sine
  67. transform\index{Fourier sine transform}, and the Fourier cosine
  68. transform\index{Fourier cosine transform}.
  69. \begin{verbatim}
  70. laplace_transform(cosh(a*x),x);
  71. - s
  72. ---------
  73. 2 2
  74. a - s
  75. laplace_transform(Heaviside(x-1),x);
  76. 1
  77. ------
  78. s
  79. e *s
  80. hankel_transform(x,x);
  81. n + 4
  82. gamma(-------)
  83. 2
  84. -------------------
  85. n - 2 2
  86. gamma(-------)*s
  87. 2
  88. fourier_sin(e^(-x),x);
  89. s
  90. --------
  91. 2
  92. s + 1
  93. fourier_cos(x,e^(-1/2*x^2),x);
  94. 2
  95. i*s s /2
  96. sqrt( - pi)*erf(---------)*s + e *sqrt(2)
  97. sqrt(2)
  98. ----------------------------------------------
  99. 2
  100. s /2
  101. e *sqrt(2)
  102. \end{verbatim}
  103. It is possible to the user to extend the pattern-matching process by
  104. which the relevant Meijer G representation for any function is found.
  105. Details can be found in the complete documentation.
  106. \noindent{\bf Acknowledgement:}
  107. This package depends greatly on the pioneering work of Victor
  108. Adamchik, to whom thanks are due.