I often encounter the integrals in the following form:

$\int_0^\infty{\rm Bessel}(ax)\cdot{\rm Bessel}(bx)\cdot f(cx)dx$,

where Bessel can be $J$, $N$, $H^{(1)}$, $H^{(2)}$, $I$, or $K$; and $f(x)$ can be $\sin(x)$, $e^x$, etc. For example,

$\int_0^\infty K_\nu(ax)I_\nu(bx)\cos(cx)dx=\frac{1}{2\sqrt{ab}}Q_{\nu-1/2}(\frac{a^2+b^2+c^2}{2ab})$,$\qquad{\rm Re}(a)>|{\rm Re}(b)|$, $c>0$, ${\rm Re}(\nu)>-1/2$

I already know the result of this integral because it is in Gradshtein & Ryzhik's book. Sometimes the integration is with respect to the order of the Bessel function.

Both Mathematica 8 and Maple 15 cannot do this kind of integrals. When the integral involves two Bessel functions or two other special functions, Mathematica and Maple usually cannot do even if the integral has a closed-form result. My questions are as follows:

  1. Is there any general theory about how to do this kind of integrals? (I wonder how the authors of that book did the above integral.)

  2. I know there is a Mathematica package "HolonomicFunctions." It seems that this package can help, but it does not seem very straightforward to obtain the final result. This package can verify the integrals with already known results, but can it do new integrals as above? Are there any better ways to deal with these integrals by computer?

  • $\begingroup$ I've seen Mellin transforms being used for this, and using Meijer's G-function as an intermediary. Unfortunately, I don't know much more about this... $\endgroup$ Dec 9, 2011 at 3:35
  • $\begingroup$ You are doing DEFINITE and not INDEFINITE integrals? So you might have a reasonable answer for your question even if there is no reasonable indefinite integral? I note that $0$ is a special point for Bessel functions. Under these conditions, something to try might be contour integrals. $\endgroup$ Dec 9, 2011 at 15:35
  • $\begingroup$ ren, you might want to also try asking this question on math.stackexchange.com ; one of the active answerers there is experienced with using Mellin transforms for integrals of this sort. Just make sure to mention that you've already asked here, and link to this question. $\endgroup$ Dec 10, 2011 at 4:26

2 Answers 2


The best tool for trying to deal with such integrals is Fredéric Chyzak's MGfun package (available as part of the Algolib library).

For your example, you should get a system of differential equations (for the integrand) for $a,b,c$ and $x$; you can leave $\nu$ as a parameter, or get a (mixed) difference equation for it. Then using this package, you can try to do elimination, which will give you a new system for the answer.

Note that this method is a vast generalization of using the Meijer G-function as an intermediary (since MeijerG is the most general function whose series expansion / asymptotic expansion at 0 has coefficients satisfy a recurrence of order 1).


Take a look at "A Treatise on the Theory of Bessel Functions" by Watson. There is a long chapter on integrating Bessel functions over the infinite range $0-\infty$.

In addition, I think a Mellin transform approach could very well get you what you want. The idea is to find Mellin transforms of the functions in the integrand (most often separated into two parts) and use Parseval's theorem to write the integral as a contour integral. Then one can often move the contour over the poles of the integrand and generate a series representation of the integral, which can sometimes be identified as some known special function.

You could look at the paper http://www.risc.jku.at/publications/download/risc_3924/AlgorithmicMellinTransform.pdf which briefly describes the method and shows a computer algebra technique for getting the final result. There is also a great, simple book by Fikoris called "Mellin Transform Method for Integral Evaluation."

Good luck, Tom


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.