       Re: Integrate 5.0

• To: mathgroup at smc.vnet.net
• Subject: [mg44240] Re: Integrate 5.0
• From: "David W. Cantrell" <DWCantrell at sigmaxi.org>
• Date: Fri, 31 Oct 2003 03:01:05 -0500 (EST)
• References: <bnnvfj\$61s\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Selwyn Hollis <sh2.7183 at misspelled.erthlink.net> wrote:
> I've come to the conclusion that Integrate has become nearly worthless
> for computing definite integrals with symbolic limits. To cite a simple
> example,
>
>         Integrate[Sqrt[Cos[t] + 1], {t, 0, x}]
>
> returns an awful mess inside of an If statement (very mild in this
> case) that no one should have to deal with if they're only concerned
> with real numbers (specifically calculus students and a great many
> applied mathematicians).

But surely you would not want Mathematica to return

2*Sqrt[1 + Cos[x]]*Tan[x/2]  without qualification,

as previous versions unfortunately did. After all, looking at the integral
itself (having a _continuous_ integrand), one would certainly suppose that
an unqualified answer should be valid for _all_ real x. But if we replace
x by, say, 2*Pi in the above unqualified result, we get 0, which is absurd.
Of course, Mathematica knows better if you give it a numerical upper bound
for the integration:

Integrate[Sqrt[Cos[t] + 1], {t, 0, 2*Pi}]   yields   4*Sqrt,

as it should.

Anyway, if we're dealing with real x,
then for Integrate[Sqrt[Cos[t] + 1], {t, 0, x}],
the answer that I would like Mathematica to return is

4*Sqrt*Floor[(Pi + x)/(2*Pi)] + (2*Sin[x])/Sqrt[1 + Cos[x]]

which is valid for all real x.

But your general point, Selwyn, may still be valid. I haven't used the new
version to compute many definite integrals with symbolic limits yet. I was
just pointing out that this particular "simple example" of yours isn't so
simple and doesn't happen to convince me of your general point.

Regards,
David Cantrell

> On the other hand, DSolve gives the simple, clean answer that Integrate
> used to give:
>
>     y[t]/. DSolve[{y'[t] == Sqrt[Cos[t] + 1], y == 0}, y[t], t]
>
>            2*Sqrt[1 + Cos[t]]*Tan[t/2]
>
> Could it be that we need a new function such as this:
>
>         RealIntegral[expr_,{x_,a_,b_}]:=
>                 (y[x]/. First@DSolve[{y'[x] ==expr, y[a] == 0}, y[t],
>                 t])/.x->b
>
> that would be associated with \[Integral] ? ... leaving the current
> Integrate to be associated with \[ContourIntegral]??
>
> Or perhaps a simple option for Integrate like RealLimits->True?
>
> -----
> Selwyn Hollis
> http://www.math.armstrong.edu/faculty/hollis

```

• Prev by Date: Re: Integrate 5.0
• Next by Date: now, while loops construct errors
• Previous by thread: Re: Integrate 5.0
• Next by thread: now, while loops construct errors