Re: numerical integration

*To*: mathgroup at smc.vnet.net*Subject*: [mg69375] Re: numerical integration*From*: p-valko at tamu.edu*Date*: Sat, 9 Sep 2006 03:26:57 -0400 (EDT)*References*: <edm1d1$coc$1@smc.vnet.net><edqq1m$sr7$1@smc.vnet.net>

If I may dare to give an explanation, it is the following: Mathematica makes some elementary transformations on the fly, and - I guess - it just swallows a multiplier 1 in a symbolic expression, but does not swallow it if it has a decimal point (because decimal point has a side-effect meaning, too). Obviously it cannot swallow a 3 (decimal point is there or not, does not matter) so when it comes to the actual method, it finds a product. It is also possible, that in the next version you will have an extra line added in the NIntegrate code: "kernel = kernel*1. " before anything else is happening. However, it seems to me inevitable that as Mathematica becomes more and more sophisticated, there will be more and more simple counterexamples to everything, where it does not do what is anticipated. So one can take the attitude that "commands" try to do their best but the user also should make the job of the command as easy as possible. Ultimately, this means that if you want to use Mathematica effectively, you should have a lot of emphathy for her (basically predicting what she is going to do in a given situation,) and help her to do the right thing. Regards P.V. dimmechan at yahoo.com wrote: > So simple! Thanks. > > The curious thing is that if you multiply with (exact) 1 you get > > NIntegrate[1*BesselJ[0,x],{x,0,Infinity},Method->Oscillatory] > NIntegrate::oscfm: With Method->Oscillatory, the integrand should be a > product of an oscillatory function w[x] and another function f[x] , as > NIntegrate[ w[x] f[x],{x,a,Infinity}, Method->Oscillatory]. The > function w should be Sin, Cos, BesselJ, or BesselY, and f[x] should be > of the form a + b x^n for constant a and b. More... > NIntegrate[1 BesselJ[0,x],{x,0,Â¥},MethodÂ®Oscillatory] > > while for e.g. > > NIntegrate[3*BesselJ[0,x],{x,0,Infinity},Method->Oscillatory] > 3. > > > Any suggestions? > > > Î?/Î? dimmechan at yahoo.com ÎÎ³Ï?Î±Ï?Îµ: > > Hi. > > > > I posted a similar message before one month but since there was not a > > reply I repost just the basic questions again. > > > > 1) Why > > > > NIntegrate[BesselJ[0,x],{x,0,Infinity},Method->Oscillatory] > > > > does not work, while e.g. > > > > NIntegrate[BesselJ[0,x]BesselJ[1,x],{x,0,Infinity},Method->Oscillatory] > > > > > > works fine? > > > > 2) Why > > > > Integrate[BesselJ[n,x],{x,0,Infinity}] > > > > gives the following conditional result > > > > If[Re[n] > -1, 1, Integrate[BesselJ[n, x], {x, 0, Infinity}, > > Assumptions -> Re[n] <= -1]] > > > > while > > > > Integrate[{BesselJ[ - 5,x],BesselJ[ - 8,x]},{x,0,Infinity}] > > > > Integrate::gener: Unable to check convergence. More... > > > > Integrate::gener: Unable to check convergence. More... > > > > {-1, -1} > > > > 3) Why exist the warning messages regarding convergence in the previous > > command as also > > in the following command? > > > > Integrate[BesselJ[0,x],{x,0,Infinity}] > > > > Integrate::gener: Unable to check convergence. More... > > > > 1 > > > > Cheers, > > > > Dimitrios Anagnostou