Re: Re: Re: Folding Deltas, and evaluation scheme of Mathematica

*To*: mathgroup at smc.vnet.net*Subject*: [mg57007] Re: [mg56976] Re: [mg56906] Re: [mg56876] Folding Deltas, and evaluation scheme of Mathematica*From*: Daniel Lichtblau <danl at wolfram.com>*Date*: Thu, 12 May 2005 02:33:10 -0400 (EDT)*References*: <200505110925.FAA24123@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

zhengji.li at t3gt.com wrote: > I can not agree with you. > > Integrate[1/x, {x, 1, Infinity}] is Infinity, > and Integrate[1/x, {x, Infinity, 1}] = - Integrate[1/x, {x, 1, Infinity}] = > - Infinity. > These are true. > > But before evaluate Integrate[1/x, {x, 1, Infinity}] - Integrate[1/x, {x, > Infinity, 1}] > = Infinity - Infinity, the following rules can be applied: > > (* this comes from the definition of definite integral*) > Integrate[exp_, {x_, a_, b_}] := - Integrate[exp, {x, b, a}] /; a > b; > Subtract[exp_, exp_] = 0; These rules apply when values in question are finite. In other cases you have what are generally referred to as "indeterminate forms". Often one can obtain a desired value as a principal value integral, wherein the singular part is cancelled by introducing a dependency into a pair of limits. > Sadly, Mathematica will not apply the second rule at first and it will do > the definite integral at first. > > In my opinion, if Mathematica apply the rule "Subtract[exp_, exp_] = 0" > before evaluate > exp will free you from applying limit wrappers to improper integrals. > > More generally, for some functions, such as Subtract, Plus, Times, Power, > before evaluate their parameters > some rule should be applied if possible. for example: > > Plus[exp_, exp_] := 2 a; Times[0, exp_] := 0; > > This is just what "human beings" do when simplify expression. :) Much of this is already done in Mathematica evaluation of Plus and Times. An attempt is made to not do such things when an indeterminate form is present, because in such cases these "simplifications" are plain wrong. There is a good deal of folklore and some published literature in the computer algebra community on how these can be incorrect, along with (often conflicting) opinions on how and when to avoid such simplifications. > > gauerkk at uregina.c > a To: Zhengji Li <zhengji.li at gmail.com> > cc: > 05, 11, 2005 Subject: [mg57007] [mg56976] Re: [mg56906] Re: [mg56876] Folding Deltas > 04:29 AM > > > Recently reading the mathgroup postings, I saw you post below a > generalization which seems to be false. > > Quoting Zhengji Li <zhengji.li at gmail.com>: > > >>.............. >>But, Integrate[Anything, {t, a, b}] + Integrate[Anything, {t, b, a}] >>= >>0, so you will get the result. > > > set Anything -> 1/x, a -> 1, b -> Infinity. My understanding is that > Infinity-Infinity does not evaluate without a warning message, and > instead does not vanish, as you indicate (compare to the other > standard improper integral used for calculating the volume of the Horn > of Gabriel, Anything -> 1/x^2, where this time, the differences are > equal and finite (and also zero), although the intgrals are improper, > as below - in the original question). > > Of course, instead choosing b -> k (a fixed finite real), others as > above, and running Limit[Integrate[Anything, {t, a, b}] + Integrate > [Anything, {t, b, a}], k -> Infinity] instead should return zero (for > most evaluatable functions, excluding Cantor and DiracDelta functions > which leap around on a semi-infinite box). As posed (if I follow correctly) this may well be an indeterminate form. There are lurking issues of language semantics that cannot and should not be ignored. For a linear operator Op, we have on the one hand Op[a+b] and on the other hand Op[a]+Op[b]. The standard Mathematica semantics for the first says to add a and b before applying Op, and for the second we allpy to each separately and then add the results. I would guess this is the interpretation used by most programs. It is, to me, the one that makes the most sense. I will also mention that there is a certain amount of voodoo behind the scenes. Some integrals are evaluated by splitting sums, but in cases when singularities cancel this can be difficult to do correctly. > I personally always try to apply a limit wrapper to any improper > integral which I may have to evaluate in version 3, and first operate > symbolically on my limit in question, followed by, only if necessary, > the numerical evaluation. I wonder if they'd fixed in v 5 yet the > capability of calculating limits from multiple directions. My guess is > probably not, based on a reply to one of the archives messages, circa > last decade. > [...] I'm not sure exactly what is the issue here. At points where a function is not analytic, limits are dependent on path of approach. If one wants limit values along rays from different directions one can certainly do that in Mathematica. Daniel Lichtblau Wolfram Research

**References**:**Re: Re: Folding Deltas, and evaluation scheme of Mathematica***From:*zhengji.li@t3gt.com