Re: Fw: Integrate...
- To: mathgroup at smc.vnet.net
- Subject: [mg44370] Re: Fw: Integrate...
- From: "David W. Cantrell" <DWCantrell at sigmaxi.org>
- Date: Fri, 7 Nov 2003 05:16:13 -0500 (EST)
- References: <bob5ac$qd3$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
"Christos Argyropoulos M.D." <argchris at otenet.gr> wrote:
> I think the problem goes deeper than simply mixing symbolic/numerical
> stuff.
You're absolutely right. Of course, what Jens-Peer said, seconded by
Curt, is good advice. But it in no way explains the huge discrepancy
between the incorrect -2.82839 and the correct 0.000037373 .
> Try symbolic integration of the original function
[snip]
> Results of the original, simplified versions and the numerical
> integration agree for 0<=a<=2.35 and 0<=b<2.35
> After they diverge dramatically. I suspect this is a bug somewhere
> inside Integrate, but I do not have the guts to evaluate the
> integral by hand to see, if the expression returned for symbolic a,b
> are correct.
I guess that depends on your precise definition of "bug".
Here's what's going on:
Integrate[Abs[Cos[r] + Sin[r]], {r, a, b}] gives a messy expression. Then
Assuming[a >= 0 && b > a, FullSimplify[%]] yields
((-a + b)*(((-Cos[a] + Sin[a])*Sqrt[1 + Sin[2*a]])/
(Cos[a] + Sin[a]) + ((Cos[b] - Sin[b])*
Sqrt[1 + Sin[2*b]])/(Cos[b] + Sin[b])))/(a - b)
(* Aside: Why on earth, since I had specified that b > a, doesn't
FullSimplify cancel (-a + b) with (a - b) to give just -1 ? *)
Next
% /. {a -> 235/100, b -> 236/100} gives a slightly messy, exact expression,
after which
N[%] yields the absurd result of -2.82839 .
The problem lies in the fact that the result given for the definite
integral with symbolic limits is incorrect (in the same way that I
discussed in my first response to Selwyn in the recent thread "Integrate
5.0"). Namely, although the integrand is _continuous_, Mathematica's
antiderivative is not, having spurious discontinuities. One of those lies
at 3*Pi/4, which is between 2.35 and 2.36. It is the source of the absurd
result, which is then, not accidentally, very close to -2*Sqrt[2].
An antiderivative for Abs[Cos[x]+Sin[x]] which is continuous for all real
x, obtained by hand, is
Sqrt[2](2 Floor[x/Pi + 1/4] - (-1)^Floor[x/Pi + 1/4]Cos[x + Pi/4])
Of course, having that, one can easily write an expression for the definite
integral with symbolic limits which is valid for _all_ real a and b. It's
too bad that Mathematica can't do that itself.
David Cantrell
> ----- Original Message -----
> From: "Sampo Smolander" <sampo.smolander+news at helsinki.fi>
To: mathgroup at smc.vnet.net
> Subject: [mg44370] Integrate...
>
> > Does anybody know why
> >
> > Integrate[Abs[1.0*Cos[r] + 1.0*Sin[r]], {r, 2.35, 2.36}]
> >
> > gives
> >
> > -2.82839
> >
> > whereas without those 1.0's,
> >
> > Integrate[Abs[Cos[r] + Sin[r]], {r, 2.35, 2.36}]
> >
> > gives the correct
> >
> > 0.000037373