Re: NIntegrate Problem
- To: mathgroup at smc.vnet.net
- Subject: [mg94626] Re: NIntegrate Problem
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Thu, 18 Dec 2008 07:20:23 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <giapeb$9e9$1@smc.vnet.net>
Kevin J. McCann wrote: > I have the following double integral > > W[t_, v_] := > Abs[NIntegrate[ > E^(-((u^2 + u v)/8.)) > Sinc[(u + v)/2.] E^(-I (t + 0.5) u) , {u, -5., 5.}]]^2 > G2[t_] := NIntegrate[E^(-(v^2/8)) W[t, v], {v, -7., 7.}] > > G2[0.0] > > The last part produces this rather strange output, considering that the > Abs[]^2 should not give out complex numbers. > > NIntegrate::inumr: The integrand E^(-0.5 I u-0.125 (<<1>>+<<1>>)) > Sinc[0.5 (u+v)] has evaluated to non-numerical values for all sampling > points in the region with boundaries {{-5.,5.}}. > > NIntegrate::inumr: The integrand E^(-0.5 I u-0.125 (<<1>>-<<1>>)) > Sinc[0.5 (u-v)] has evaluated to non-numerical values for all sampling > points in the region with boundaries {{-5.,5.}}. > > General::stop: "\!\(\* > StyleBox[\"\\\"Further output of \\\"\", \"MT\"]\)\!\(\* StyleBox[ > RowBox[{\"NIntegrate\", \"::\", \"\\\"inumr\\\"\"}], \"MT\"]\)\!\(\* > StyleBox[\"\\\" will be suppressed during this calculation.\\\"\", > \"MT\"]\) " > > 56.8889 > > One other interesting thing is that after all the complaining, it does > produce an answer. Evaluate of the function W[t,v] above only produces > real numbers. In addition, the integration is very slow. I got around > the problem by building a Table of W, using Interpolation, and then > integrating that - very fast, and no problems. > > Any ideas why I would get the above complaints? Hi Kevin, The function *W* should be defined in such a way that it is evaluated only when all its arguments are numeric so it returns a numeric value too. For instance, In[1]:= Clear[W, G2] W[t_?NumericQ, v_?NumericQ] := Abs[NIntegrate[ E^(-((u^2 + u v)/8.)) Sinc[(u + v)/ 2.] E^(-I (t + 0.5) u), {u, -5., 5.}]]^2 G2[t_] := NIntegrate[E^(-(v^2/8)) W[t, v], {v, -7., 7.}] G2[0.0] Out[4]= 56.8889 Best regards, -- Jean-Marc