Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to simplify some integral expressions in terms of special functions, such as the modified Bessel function of the first kind. See for example Eq. (5) on this page. Notice that the real expressions I am working with are somewhat more complex, but I thought it might be a good idea to start by reproducing some known expression with Mathematica. However, I am failing miserably. After searching on the internal help pages and the web, I thought that this expression may do exactly what I wanted:

Assuming[{m \[Element] Integers && z \[Element] Reals}, 
 Integrate[Exp[z*Cos[x] ]*Cos[ m * x], {x, 0, Pi}]]

But it simply outputs the same integral again. What am I doing wrong? Why does it not output the result in terms of the Bessel function?

share|improve this question
If you actually set m to be an integer, then the integral evaluates to give an expression in terms of BesselI[1,z] and BesselI[2,z] - I tried a few cases and they all came out this way. Then if you equate this result to the expected result Pi BesselI[m,z] (with m set the same as above) and then FullSimplify you get True. Although this doesn't solve your problem, you might find it useful. – Stephen Luttrell Feb 16 '13 at 11:21
Hi Stephen. I was not aware of this, thanks. I also tried Simplify and FullSimplify on the Integral but with no result. But the equating shows that Mathematica knows the result, so maybe the integral is just considered to be "simpler" than the Bessel function? – TriSSSe Feb 17 '13 at 10:51
I think it's because Mathematica can successfully verify that this integral is correct - i.e. can work backwards when you give it the result in advance - but can't work forwards to arrive at the result when it is unknown in advance. – Stephen Luttrell Feb 17 '13 at 13:52

Your Answer


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

Browse other questions tagged or ask your own question.