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