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.

I have a complicated large integral I want to evaluate (does not have a closed form, need an approximation), but Mathematica seems to keep "Running...". Is there any way to make Mathematica use more CPU power or anything to speed the calculations up?

The integral is the following:

Integrate[x (0.25 - x)^0.5*1/(Integrate[(1 - ((2 x/(1 - 2 x))*
  Cos[z])^2)^0.5, {z, 0, Pi}])*Sin[y]*
  (1 - ((2 x/(1 - 2 x))*Cos[y])^2)^0.5, {x, 0, 0.25}, {y, 0, Pi}]

Also, how long should I expect this to take?

Thank you for any help!

share|improve this question
    
What do you expect the final answer to be? I got the final answer= 0.005459 –  Algohi Jul 29 at 23:38
    
I'm expecting it somewhere between 0.005-0.007, so that is probably the correct value! How did you manage to get that? Did you just run the command the way I wrote it? –  Sheheryar Zaidi Jul 29 at 23:42

2 Answers 2

up vote 4 down vote accepted

The whole integration is complicated and I can not get it once like you. I break it down as follows:

f = (1 - ((2 x/(1 - 2 x))*Cos[z])^2)^(1/2)

and then do normal unbounded integration

int1 = Integrate[f,z]

and then find the bounded integration by simply substitute the boundary values of z

int11 = (int1 /. z -> Pi) - int1 /. z -> 0

and then do the NIntegrate

NIntegrate[
 x (0.25 - x)^0.5*1/(int11)*
  Sin[y]*(1 - ((2 x/(1 - 2 x))*Cos[y])^2)^(1/2), {x, 0, 0.25}, {y, 0, 
  Pi}]
(*0.00545945*)
share|improve this answer
    
Perfect, thank you! –  Sheheryar Zaidi Jul 29 at 23:51

Using Assumptions and a little simple substitution do can directly do that inner integral:

 $Assumptions = {0 < x < 1/4};
 r1 = Simplify[ 
       Integrate[(1 - (xx*Cos[z])^2)^(1/2), {z, 0, Pi},
       Assumptions -> {0 < xx < 1}]  /. xx -> (2 x/(1 - 2 x)) ]

then it turns out you can do the integral over y analytically as well:

 r2 = Simplify[Integrate[ x (1/4 - x)^(1/2)/
    (r1) Sin[y] (1 - ((2 x/(1 - 2 x)) Cos[y])^2)^(1/2) , {y, 0, Pi }   ]]

enter image description here

finally...

 NIntegrate[ r2  , { x, 0, 1/4 }]  (* 0.00545945 *) 
share|improve this answer
    
+1 I kept thinking I was misreading the inner integral (aging eyes). I was surprised it didn't evaluate as is. Seeing your answer, I'm still surprised it does not evaluate. –  Michael E2 Jul 30 at 22:40
    
Do you think it's possible to get a closed form answer using this method? –  Sheheryar Zaidi Jul 31 at 17:16

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.