MathGroup Archive 2003

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

Search the Archive

Re: NIntegrate

  • To: mathgroup at smc.vnet.net
  • Subject: [mg44829] Re: [mg44794] NIntegrate
  • From: Anton Antonov <antonov at wolfram.com>
  • Date: Wed, 3 Dec 2003 04:24:10 -0500 (EST)
  • References: <200311271638.LAA19984@smc.vnet.net> <3FC63D70.9030906@wolfram.com> <20031127214003.933EA15D8033@nonlocal>
  • Sender: owner-wri-mathgroup at wolfram.com

Hi Zheng,

Now it is clearer! :) Thanks.


Here are my evaluations in InputForm:

In[7]:=Quit

In[1]:=$Version

Out[1]=5.0 for Linux (June 9, 2003)

In[2]:=
Timing[N[Integrate[(x - 1)^0.5*(1/(1 + Exp[(x - 2)/2])), {x, 1, Infinity}]]]
Timing[NIntegrate[(x - 1)^0.5*(1/(1 + Exp[(x - 2)/2])), {x, 1, Infinity}]]

Out[2]= {0.75 Second,2.80073}

Out[3]= {0.01 Second,2.80073}

In[4]:=
Timing[Integrate[(x - 1)^0.5*(1/(1 + Exp[(x - 2)/2])), {x, 1, 
Infinity}]]//InputForm

Out[4]//InputForm={0.15000000000000002*Second,
 Integrate[(-1 + x)^0.5/(1 + E^((-2 + x)/2)),
  {x, 1, Infinity}]}



The first expression calls Integrate, and then N. You can see that In[4] 
and Out[4] Integrate doesn't find the integral and gives up. The 
Integrate timings in Out[2] and Out[4] are different since Integrate 
loads certain packages when it is confronted with a more complicated 
integral.

Applying N results to using NIntegrate. After transforming [1,Infinity] 
to [0,1], NIntegrate doesn't find the integral difficult at all -- you 
can see this with the plot command bellow. (In/Out 6 and 7 calculate the 
variable change.)

In[6]:= rep = (x - 1)^0.5*(1/(1 + Exp[(x - 2)/2])) /. x -> 1 + (1 - t)/t

Out[6]=((1 - t)/t)^0.5/(1 + E^((1/2)*(-1 + (1 - t)/t)))

In[7]:=D[1 + (1 - t)/t, t] // Simplify

Out[7]=-(1/t^2)

In[8]:= Plot[rep*(1/t^2), {t, 0, 1}]



This behavior can be seen also for Sum/NSum

In[4]:=Quit

In[1]:=N[Sum[1/(Log[t]*t^2), {t, 2, Infinity}]]//Timing

Out[1]={0.24 Second,0.605522 + 0.*I}

In[2]:=NSum[1/(Log[t]*t^2), {t, 2, Infinity}]//Timing

Out[2]={0.01 Second,0.605522 + 0.*I]}

Here Sum cannot do the summation, it gives up, and NSum is called.


--Anton



Zheng Yang wrote:

> Hi,
>
> Thanks for your reply. My original message was posted in Unicode 
> (UTF-8) since the standard ASCII coding doesn't cover the integration 
> and infinity characters that were copied&pasted directly from my 
> Mathematica notebook. I'm attaching them as plain text and a GIF image 
> showing the two expressions below.
>
> \!\(N[\[Integral]\_1\%\[Infinity]\((x - 1)\)^ .5\ \(1\/\(1 +
>              Exp[\((x - 2)\)/2]\)\) \[DifferentialD]x]\ \n
>
>  NIntegrate[\((x - 1)\)^ .5\ 1\/\(1 + Exp[\((x - 2)\)/2]\), {x,
>      1, \[Infinity]}]\)
>
> Happy Thanksgiving.
>
> Zheng
>
>
> Anton Antonov wrote:
>
>> Zheng Yang wrote:
>>
>>> Hi,
>>>
>>> I'd like to ask why the first expression below takes so much longer 
>>> to finish than the second. They look same to me.
>>>
>>> \!\(N[â?«\_1\%â??\((x - 1)\)^ .5\ \(1\/\(1 + Exp[\((x -          
>>> 2)\)/2]\)\) \[DifferentialD]x]\)
>>>
>>> \!\(NIntegrate[\((x - 1)\)^ .5\ 1\/\(1 + Exp[\((x - 2)\)/2]\), {x, 
>>> 1, â??}]\)
>>>
>>> And I'd like to know if this apply to other numerical functions.
>>>
>>> Thanks a lot,
>>>
>>> Zheng
>>>  
>>>
>>
>> Hi,
>>
>> Would you please send the input form of your Mathematica expressions!
>>
>> The meaning of the symbols
>>
>> â?«\_1\%â??\
>>
>> is not clear.
>>
>>
>> It seems to me that your code is incomplete. For example, the second 
>> line of your code gives to NIntegrate a symbolic range for the 
>> variable x, so NIntegrate doesn't make any calculations.
>>
>> Anton Antonov
>> Wolfram Research, Inc.
>>
>
>
>
> ------------------------------------------------------------------------
>



  • Prev by Date: Suggestion: Visualization of complex functions with Mathematica
  • Next by Date: Re: list of file names
  • Previous by thread: Re: NIntegrate
  • Next by thread: problem running mathematica 4 kernel on 486