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)
- Organization: NewsReader.Com Subscriber
- 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[2],
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[2]*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] == 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