- #1
muppet
- 608
- 1
Hi all,
Yet another post concerning my battle with a family of messy integrals that are standing between me and a scientific publication.
I'm defining a function by
BWdata[q_,c_,n_]:=NIntegrate[\[Beta]*BesselJ[0,q*\[Beta]]*(E^(-I*c*Gamma[n/2]*Pi^(n/2-1)/8*HypergeometricU[n/2,1,\[Beta]^2/4])-1),{\[Beta],0,Infinity},Method->{"ExtrapolatingOscillatory",Method->{"GlobalAdaptive",MaxErrorIncreases->1000}},WorkingPrecision->200,MaxRecursion->30]
For n=6 at q=0 I get the error message:
NIntegrate::inumri: The integrand (-1+E^(-(65/4) I \[Pi]^2 (1/4 (-3+Times[<<2>>])+1/4 E^Times[<<2>>] (2+Power[<<2>>]+Times[<<2>>]) Gamma[0,Times[<<2>>]]))) \[Beta] has evaluated to Overflow, Indeterminate, or Infinity for all sampling points in the region with boundaries {{0.*10^-101,5.230427695955377022882968073746754104809181670112054730607300437187234132398206612751798579662814260*10^7}}. >>
The working precision is so high because I came across this thread in which DaleSpam advised someone receiving the same error message to turn their working precision up. I was originally having problems with n=4 at q=0 as well, and increasing the working precision up to about 80 solved that. However, I'm racheting up my working precision as I type this and I'm having no luck (it's up to 700 as I type this). If I keep increasing it much higher I'm worried that the full set of integrals I have to do will start to take an inordinate amount of time. Does anyone have any other suggestions for things I could try?
The function for q=0 oscillates strongly up to a point and then decays slowly, so I tried using an oscillatory strategy over the appropriate region and then using the default method to try and tackle the rest, but to no avail.
Thanks in advance.
Yet another post concerning my battle with a family of messy integrals that are standing between me and a scientific publication.
I'm defining a function by
BWdata[q_,c_,n_]:=NIntegrate[\[Beta]*BesselJ[0,q*\[Beta]]*(E^(-I*c*Gamma[n/2]*Pi^(n/2-1)/8*HypergeometricU[n/2,1,\[Beta]^2/4])-1),{\[Beta],0,Infinity},Method->{"ExtrapolatingOscillatory",Method->{"GlobalAdaptive",MaxErrorIncreases->1000}},WorkingPrecision->200,MaxRecursion->30]
For n=6 at q=0 I get the error message:
NIntegrate::inumri: The integrand (-1+E^(-(65/4) I \[Pi]^2 (1/4 (-3+Times[<<2>>])+1/4 E^Times[<<2>>] (2+Power[<<2>>]+Times[<<2>>]) Gamma[0,Times[<<2>>]]))) \[Beta] has evaluated to Overflow, Indeterminate, or Infinity for all sampling points in the region with boundaries {{0.*10^-101,5.230427695955377022882968073746754104809181670112054730607300437187234132398206612751798579662814260*10^7}}. >>
The working precision is so high because I came across this thread in which DaleSpam advised someone receiving the same error message to turn their working precision up. I was originally having problems with n=4 at q=0 as well, and increasing the working precision up to about 80 solved that. However, I'm racheting up my working precision as I type this and I'm having no luck (it's up to 700 as I type this). If I keep increasing it much higher I'm worried that the full set of integrals I have to do will start to take an inordinate amount of time. Does anyone have any other suggestions for things I could try?
The function for q=0 oscillates strongly up to a point and then decays slowly, so I tried using an oscillatory strategy over the appropriate region and then using the default method to try and tackle the rest, but to no avail.
Thanks in advance.