incurable definite integration behavior [Re: Bug in Mathematica 6 - Integrate - 1]



On Jun 15, 1:16 pm, Vladimir Bondarenko <v...@xxxxxxxxxxxxxxx> wrote:
N[Integrate[1/(Sin[z]^2+Cos[z]^3), {z,0,2}]]

0.276627 + 0.165246 I

NIntegrate[1/(Sin[z]^2+Cos[z]^3), {z,0,2}]

2.17316

Best wishes,

Vladimir Bondarenko
[...]

I'll call this one incurable in the hopes that (not too distant)
future developments prove me wrong. The gist is that the
antiderivative jumps a branch cut on the integration path and the
singularity detection code in Mathematica fails to notice this.
Moreover I am not aware of any general method at this time to find all
such branch cut jumps.

As for specifics, the jump in antiderivative is around 1.2982.

In[4]:= InputForm[ee = Integrate[1/(Sin[z]^2+Cos[z]^3), z]]
Out[4]//InputForm=
2*RootSum[1 - 2*#1 + 3*#1^2 + 4*#1^3 + 3*#1^4 - 2*#1^5 + #1^6 & ,
(2*ArcTan[Sin[z]/(Cos[z] - #1)]*#1^2 - I*Log[-1 + 2*Cos[z]*#1 -
#1^2]*#1^2)/
(-1 + 3*#1 + 6*#1^2 + 6*#1^3 - 5*#1^4 + 3*#1^5) & ]

In[5]:= ee /. z->1.2981
Out[5]= 1.42648 - 0.680196 I

In[6]:= ee /. z->1.2982
Out[6]= -0.469947 - 0.51495 I

Offhand I've no idea whether this path singularity has a "nice" closed
form (might be a challenge problem?).

The inability to find path singularities is a known limitation to
exact definite integration. What is not known, at present, is any
general way to fix this. A possible direction in cases where no
parameters are present might be to support some form of symbolic
"singular point". But still one would need a way to find them and to
compute jump values numerically to some reasonable precision.

For those with an interest, this and other issues for definite
integration are discussed in the Wolfram Research 2005 Tech
Conference, with a notebook available at

http://library.wolfram.com/infocenter/Conferences/5832/

The abstract:
This talk will cover various aspects of symbolic definite integration.
We will briefly outline methods used by Mathematica. We then proceed
to illustrate some of the difficulties one might encounter and show
how the Mathematica implementation currently attempts to handle them.
Time permitting, we will say a bit about future directions of this
work.

This issue in particular is noted in the section "Difficulties
Involving Parameters and Detection of Singularities"
subsection "Transcendentals and Singularity Detection"

There will eventually be an article in The Mathematica Journal that
covers this in a bit more detail.

Daniel Lichtblau
Wolfram Research

.



Relevant Pages

  • Re: Integrable singularity
    ... > I wish to numerically integrate a real function with an integrable ... > singularity. ... > What are the recommended methods for accomplishing the above? ... You need to consult my column, "Gauss-Legendre Principal Value Integration" ...
    (comp.lang.fortran)
  • Re: help with the code
    ... Since i use "dblquad" to perform the double integration, d and phi have to be made vectors since in the dblquad routine, x is a vector and d and phi are calculated variables for different values of x. ... I have chosen the numerical integration approach since i am ... *snip to show just a few lines in the integrand function* ... which is often a sign that there's a singularity in your function at that ...
    (comp.soft-sys.matlab)
  • Re: Integrable singularity
    ... >> I wish to numerically integrate a real function with an integrable ... >> What are the recommended methods for accomplishing the above? ... > integration region. ... > remove the singularity. ...
    (sci.math.num-analysis)
  • Re: Integrable singularity
    ... >> I wish to numerically integrate a real function with an integrable ... >> What are the recommended methods for accomplishing the above? ... > integration region. ... > remove the singularity. ...
    (comp.lang.fortran)