Re: Mathematica Weirdness

*To*: mathgroup at smc.vnet.net*Subject*: [mg116701] Re: Mathematica Weirdness*From*: Mark Adler <madler at alumni.caltech.edu>*Date*: Thu, 24 Feb 2011 06:23:46 -0500 (EST)*References*: <ik2nab$9kk$1@smc.vnet.net>

On 2011-02-23 02:25:15 -0800, Steve Heston said: > My question is why I get a negative integral of a positive > function? > > Integrate[1000000*Exp[x^2-12*x]*x^14,{x,0,1}]//N Not too hard to track down. There is an extremely delicate cancellation in the result that fails at normal precision, but works at higher precision. The result contains: -1293761386 + 15303054607 DawsonF[6] where the second term evaluates to: 15303054607 DawsonF[6] // N // FullForm 1.293761386000058`*^9 So you can see that the result depends critically on the last two digits of the 16-digit value. The more correct result (in those last few digits) is: 15303054607 DawsonF[6] // N[#, 20] & 1.2937613860000614037*10^9 The difference between 0.000058 and 0.000061 is enough to swing the sign of the result, due to yet another cancellation, though not nearly so delicate as the first. So: Integrate[1000000*Exp[x^2 - 12*x]*x^14, {x, 0, 1}] // N[#, 20] & 2.7482124237345664276 which agrees with the numerical integrations. Mark