Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

There is a rather simple integral ($K_0$ is the 0-th order MacDonald function) $$\int_0^\infty e^{-x \cosh\xi}\, d\xi = K_0(x)$$ which mathematica cannot solve. This even though the documentation claims that Integrate can give results in terms of many special functions. In fact it can solve the integral obtained by substituting $r=\cosh \xi$, $$\int_1^\infty \frac{e^{-x r}}{\sqrt{r^2-1}}\,dr=K_0(x).$$ In fact it also failed in solving the more general integral $$\int_0^\infty e^{-x \cosh\xi} \cosh(\alpha \xi)\, d\xi = K_\alpha(x).$$

I am using "8.0 for Mac OS X x86 (64-bit) (October 5, 2011)". Are there more recent or older versions of Mathematica which can solve this class of integrals?


Edit:

I want to stress that this is not an arbitrary integral but can be thought of as a definition of $K_0$ (the corresponding integral $\int_0^{2\pi} \!e^{i x \cos \xi}\,d\xi$ for $J_0$ mathematica handles very well). I am just curious how it can happen that a system as developed as Mathematica cannot handle this "elementary" integral.

Here is the Mathematica code for those who want to test:

Integrate[Exp[-x Cosh[ξ]],{ξ,0,Infinity}]

Now I found a related integral which indeed is a bug in mathematica. If you try to evaluate ($x \in \mathbb{R}$) $$\int_0^\infty \cos(x \sinh \xi)\,d\xi = K_0(|x|)$$ then Mathematica claims that the integral diverges.

share|improve this question
1  
The integration is with respect to \[Xi] –  b.gatessucks Apr 25 '12 at 8:57
2  
Please include the MMA code for the rest of us to test easily... –  tkott Apr 25 '12 at 10:05
2  
@Artes: However this is not an example of Integrate behaving improperly, but an example of Integrate not being able to calculate a given integral. Which may be unfortunate, but as long as it doesn't give an incorrect result, is neither improper behaviour nor a bug. –  celtschk Apr 25 '12 at 10:31
1  
@Artes Integrate is one of the most difficult to get right functions, especially when it comes to definite integration. You'll find similar problems in other systems as well. –  Szabolcs Apr 25 '12 at 13:09
2  
Send in this integral as a suggestion to wolfram technical support. The email is support@wolfram.com. Let then know you are suggesting that this integral should evaluate to the value you suggested here. –  Searke Apr 25 '12 at 14:52

1 Answer 1

up vote 13 down vote accepted

An experimental internal function Integrate`InverseIntegrate helps here, although it's intended more for integrands involving logs. This is what it returns in the development version:

Integrate`InverseIntegrate[Exp[-x Cosh[t]], {t, 0, Infinity}, Assumptions -> Re[x] > 0]
(*  BesselK[0, x]  *)
share|improve this answer
2  
This code returns $Failed on my machine (version 8.0.4, Windows 7). –  Verbeia Jun 13 '12 at 6:28
1  
Sorry, I should have tested it. This is what it returns in the development version. In[1]:= Integrate`InverseIntegrate[Exp[-x Cosh[t]], {t, 0, Infinity}, Assumptions -> Re[x] > 0] Out[1]= BesselK[0, x] –  Bhuvanesh Jun 20 '12 at 21:03

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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