Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Integrating x^b*Log[x]^m gives wrong result?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg85446] Re: Integrating x^b*Log[x]^m gives wrong result?
  • From: "David W.Cantrell" <DWCantrell at sigmaxi.net>
  • Date: Mon, 11 Feb 2008 06:03:51 -0500 (EST)
  • References: <fomjoj$hqe$1@smc.vnet.net>

KvS <keesvanschaik at gmail.com> wrote:
> Dear all,
>
> I'm running into the following problems with symbolic vs. numerical
> integration of the function x^(-3.5)*Log[x]^m:
>
> In[564]:=
> ClearAll["Global`*"];
> f1[m_]:=N[Integrate[x^(-3.5)*Log[x]^m,{x,5,10}]];
> f2[m_]:=NIntegrate[x^(-3.5)*Log[x]^m,{x,5,10}];
> Map[f1,{5,10,25,40}]
> Map[f2,{5,10,25,40}]
>
> Out[567]= {0.145434,4.62609,401145.,-9.30763*10^23}
> Out[568]= {0.145434,4.62609,403156.,6.33616*10^10}

The discrepancy seen when m is 40 is easily resolved.

My first thought was that you should not have used an inexact number, -3.5,
in your integrand for the symbolic integration. But only changing that to
-35/10,

In[10]:= N[Integrate[x^(-35/10)*Log[x]^40, {x, 5, 10}]]

Out[10]= -2.50984*10^16

we still see a discrepancy. My second thought was that we also need to ask
N for more precision:

In[11]:= N[Integrate[x^(-35/10)*Log[x]^40, {x, 5, 10}], 10]

Out[11]= 6.336161929*10^10

We see now that the discrepancy is resolved.

But it should also be noted that both of my changes are required, that is,
just asking N for more precision but leaving the exponent inexact still
yields a discrepancy:

In[12]:= N[Integrate[x^(-3.5)*Log[x]^40, {x, 5, 10}], 10]

Out[12]= -9.30763*10^23

David

> Of course the symbolic integration is wrong here since it shouldn't
> yield a negative number. If the recursive formula resulting from
> partial integration is used, things seem to go wrong as well:
>
> In[572]:=
> f[m_]:=(-1/2.5)*(10^(-2.5)*Log[10]^m-5^(-2.5)*Log[5]^m)+(m/
> 2.5)*f[m-1];
> f[0]=(-1/2.5)*(10^(-2.5)-5^(-2.5));
> Map[f,{5,10,25,40}]
>
> Out[574]= {0.145434,4.62609,403156.,-2.54037*10^16}
>
> So the result for m=25 still coincides with the one from NIntegrate,
> while Integrate already gives something different; for m=40 the result
> is different from both NIntegrate and Integrate (and wrong as it is
> negative). If one changes the negative power of x to a positive one,
> things seem ok btw.
>
> Any clues what might be going on here?
>
> Thanks in advance, Kees
>
> In[533]:= $Version
> Out[533]= 6.0 for Microsoft Windows (32-bit) (April 27, 2007)


  • Prev by Date: Re: Integrating x^b*Log[x]^m gives wrong result?
  • Next by Date: Re: Partial Derivatives in 3D
  • Previous by thread: Re: Integrating x^b*Log[x]^m gives wrong result?
  • Next by thread: Re: Integrating x^b*Log[x]^m gives wrong result?