MathGroup Archive 2007

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

Search the Archive

Re: Integrate (a difficult integral)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg74593] Re: Integrate (a difficult integral)
  • From: "dimitris" <dimmechan at yahoo.com>
  • Date: Tue, 27 Mar 2007 04:06:18 -0500 (EST)
  • References: <esls78$q0v$1@smc.vnet.net><eu1rm1$l6j$1@smc.vnet.net>

>Since Mathematica return unevaluated both Integrate[F[z], {z, -
>Infinity, Infinity}] and
>Integrate[F[z], {z, -Infinity, 4 - I, Infinity}] we will use the
>previous setting with Limits.

I should have written...

"Since Mathematica return unevaluated both Integrate[f[z], {z, -
Infinity, Infinity}]
and Integrate[f[z], {z, -Infinity, 4 - I, Infinity}] we will use the
previous setting with Limits."

I apologize for any inconvience!

Dimitris



=CF/=C7 dimitris =DD=E3=F1=E1=F8=E5:
> As I said in another working with CAS don't mean that we... stop
> thinking with our mind.
>
> To obtain the best results (which are possible of course!)-not only in
> integration but in general doing serious Mathematics with Mathematica-
> you need an a combination of art, experience, reading, thinking (and
> guessing sometimes!).
>
> Let demonstrate one way of working for one integral that appeared in a
> recent thread in another forum.
> (The question was by Vladimir Bondarenko and I do consider that the
> integral should be appeared also in MathGroup.)
>
> Note that I don't say that it is the best one for the present
> situation but rather than it is a way that helped
> Mathematica to overcome its shothcomings in the present situation and
> return results in reasonable time (or someone would prefer to say: "Oh
> man, don't say many things; it's...just what you think! No more, no
> less!")
>
> Anyway...
>
> $Version
> "5.2 for Microsoft Windows (June 20, 2005)"
>
> Consider the function
>
> f[z_] := 1/Sqrt[z^3 - I*z^2 + z - I]
>
> The following integral returns unevaluated
>
> Integrate[F[z], {z, -Infinity, Infinity}]
>
> It is exactly this integral that we are looking for!
>
> The indefinite integral is
>
> F[z_] = Integrate[1/Sqrt[z^3 - I*z^2 + z - I], z]
> -(((1/4 + I/4)*(-I + z)*Sqrt[I + z]*(2*ArcTan[Sqrt[I + z]/(-2 + Sqrt[I
> + z])] - 2*ArcTan[Sqrt[I + z]/(2 + Sqrt[I + z])] +
>      I*(Log[(2 + I) + z - 2*Sqrt[I + z]] - Log[(2 + I) + z + 2*Sqrt[I
> + z]])))/Sqrt[(-I + z)^2*(I + z)])
>
> Of course "blinded" application of the Nweton-Leibniz formula leads
> to incorrect result
>
> Limit[F[z], z -> Infinity] - Limit[F[z], z -> -Infinity]
> {N[%], NIntegrate[f[x], {x, -Infinity, Infinity}]}
>
> (-(1/2) - I/2)*Pi
> {-1.5707963267948966 - 1.5707963267948966*I, 3.1415926536059606 +
> 3=2E14159265360596*I}
>
> Here are some plots
>
> (Plot[#1[f[z]], {z, -10, 10}] & ) /@ {Re, Im};
> (Plot[#1[F[z]], {z, -20, 20}, Ticks -> {Range[-20, 20, 4], Automatic},
> Axes -> False, Frame -> True] & ) /@
> {Re, Im};
>
> (ContourPlot[#1[F[x + I*y]], {x, -5, 5}, {y, -5, 5}, PlotPoints ->
> 100, Contours -> 100, ContourShading -> False] & ) /@ {Re, Im};
> (ContourPlot[#1[f[x + I*y]], {x, -2, 2}, {y, -2, 2}, PlotPoints ->
> 100, Contours -> 100, ContourShading -> False] & ) /@ {Re, Im}
>
> As we see both the real and imaginary part has jump discontinuities in
> the real axis.
>
> The following plots are very hepful
>
> (Plot[#1[ArcTan[Sqrt[I + z]/(-2 + Sqrt[I + z])]], {z, -10, 10}] & ) /@
> {Re, Im};
> (Plot[#1[ArcTan[Sqrt[I + z]/(2 + Sqrt[I + z])]], {z, -10, 10}] & ) /@
> {Re, Im};
> (Plot[#1[Log[(2 + I) + z - 2*Sqrt[I + z]]], {z, -10, 10}] & ) /@ {Re,
> Im};
> (Plot[#1[Log[(2 + I) + z + 2*Sqrt[I + z]]], {z, -10, 10}] & ) /@ {Re,
> Im};
>
> These plots indicate that the first function introduce the jump
> discontinuities in the real axis
>
> Here is the branch point of this function
>
> Solve[-2 + Sqrt[I + z] == 0, z]
> {{z -> 4 - I}}
>
> Before obtaing Vladimir's integral let's see a simpler example
>
> g = HoldForm[Integrate[f[z], {z - 100, 100}]]
>
> The result returned by Mathematica is wrong as we see below
>
> FullSimplify[ReleaseHold[g]]
> {N[%], ReleaseHold[g /. Integrate[x___] :> NIntegrate[x, MaxRecursion
> -
> > 12]]}
>
> (1/2 + I/2)*Pi + Log[((101620289 - 320288*Sqrt[10001] +
> 8*I*Sqrt[-21072330472601 + 1017117472601*Sqrt[10001]])/100020001)^(-
> (1/4) + I/4)]
> {1.3704665093461683 + 1.370466509346168*I, 2.941262836141067 +
> 2=2E941262836141067*I}
>
> However using the UNDOCUNTATED (for Integrate; it is well documentated
> for NIntegrate in the Help Browser. BTW, I believe that its first
> appearance-which I saw
> myself of course!-is an old post by Ted Ersek) setting of the third
> element in the iterator
> of Integrate as follows
>
> forces Mathematica to consider the above mentioned discontinuity,
> giving in this way the correct result!
>
> FullSimplify[Integrate[f[z], {z, -100, 4 - I, 100}]]
> N[%]
>
> (1/4 + I/4)*(4*Pi + Log[((101620289 - 320288*Sqrt[10001] +
> 8*I*Sqrt[-21072330472601 + 1017117472601*Sqrt[10001]])/100020001)^I])
> 2=2E941262836141065 + 2.941262836141065*I
>
>
> Previous setting is equivalent to
>
> FullSimplify[Limit[F[z], z -> 100, Direction -> 1] - Limit[F[z], z ->
> 4 - I, Direction -> -1] +
>    Limit[F[z], z -> 4 - I, Direction -> 1] - Limit[F[z], z -> -100,
> Direction -> -1]]
> N[%]
>
> (1/4 + I/4)*(4*Pi + Log[((101620289 - 320288*Sqrt[10001] +
> 8*I*Sqrt[-21072330472601 + 1017117472601*Sqrt[10001]])/100020001)^I])
> 2=2E941262836141065 + 2.941262836141065*I
>
> Since Mathematica return unevaluated both Integrate[F[z], {z, -
> Infinity, Infinity}] and
> Integrate[F[z], {z, -Infinity, 4 - I, Infinity}] we will use the
> previous setting with Limits
> for our needs.
>
> We have
>
> Limit[F[z], z -> Infinity]  (*correct*)
> 0
>
> Limit[F[z], z -> -Infinity] (*incorrect; it misses a minus sign*)
> (1/2 + I/2)*Pi
>
> (Limit[F[z], z -> 4 - I, Direction -> #1] & ) /@ {-1, 1}  (*correct*)
> {(-(1/4) - I/4)*(Pi - 2*ArcTan[1/2] - I*Log[5]), (1/4 + I/4)*(Pi +
> 2*ArcTan[1/2] + I*Log[5])}
>
> So, (at last!) we finally have
>
> (0 - (-(1/4) - I/4)*(Pi - 2*ArcTan[1/2] - I*Log[5])) + ((1/4 + I/
> 4)*(Pi + 2*ArcTan[1/2] + I*Log[5]) - (-(1/2 + I/2))*Pi)
> Simplify[%]
> {(N[#1, 22] & )[%], NIntegrate[f[x], {x, -Infinity, Infinity},
> WorkingPrecision -> 50, PrecisionGoal -> 20]}
>
> (1/2 + I/2)*Pi + (1/4 + I/4)*(Pi - 2*ArcTan[1/2] - I*Log[5]) + (1/4 +
> I/4)*(Pi + 2*ArcTan[1/2] + I*Log[5])
>
> (1 + I)*Pi
>
> {3.1415926535897932384626433832795028842`22. +
> 3=2E1415926535897932384626433832795028842`22.*I,
>   3.14159265358979323846264338327950287583`21.64106815259695 +
> 3=2E14159265358979323846264303665222933418`21.64106815259695*I}
>
> I=2Ee the desired integral is equal to (1 + I)*Pi.
>
>
> Best Regards
> Dimitris
>
>
>
>
>
>
>
> =CF/=C7 Michael Weyrauch =DD=E3=F1=E1=F8=E5:
> > Hello,
> >
> >   Dimitris, this is a marvelous solution to my problem. I really apprec=
ia=
> te
> > your help. I will now see if I can solve all my other (similar) integra=
ls=
>  using the same trick.
> > Timing is not really the big issue if I get results in a reasonable amo=
un=
> t of time.
> >
> > Also the references you cited are quite interesting, because they give =
so=
> me insight
> > what might go on inside Mathematica concerning integration.
> >
> > I also agree with you that it is my task as a programmer to "help" Math=
em=
> atica
> > and guide it into the direction I want it to go. Sometimes this is an "=
ar=
> t"...
> >
> > Nevertheless, in the present situation I do not really understand why M=
at=
> hematica wants
> > me to do that rather trivial variable transformation, which is at the h=
ea=
> rt of your solution.
> > The integrand is still a rather complicated rational function of the sa=
me=
>  order. The form
> > of the integrand did not really change
> > substantially as it is the case with some other ingenious substitutions=
 o=
> ne uses in order to
> > do some complicated looking integrals "by hand".
> >
> > I think the fact that we are forced to such tricks shows that the Mathe=
ma=
> tica integrator
> > is still a bit "immature" in special cases, as also the very interestin=
g =
> article by D. Lichtblau,
> > which you cite, seems to indicate. So all this is probably perfectly kn=
ow=
> n to the
> > Mathematica devellopers. And I hope the next Mathematica version has al=
l =
> this "ironed out"??
> >
> > Many thanks again,  Michael



  • Prev by Date: Re: Definite Integration in Mathematica
  • Next by Date: Is this a problem in mathematica?
  • Previous by thread: Re: Integrate (a difficult integral)
  • Next by thread: Some questions about vector