Re: PrincipalValue of Integral
- To: mathgroup at smc.vnet.net
- Subject: [mg44727] Re: PrincipalValue of Integral
- From: "David W. Cantrell" <DWCantrell at sigmaxi.org>
- Date: Sat, 22 Nov 2003 02:17:20 -0500 (EST)
- References: <bphtm6$1m9$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote: [...] > I would like to add from that my reason for asking the question were > simply curiosity if this concept really deserved to have a special name > and position within Mathematica (as an option in Integrate), since > mathematically it amounts to just simple taking of limits in a rather > obvious way. Since Alain convinced me that it has significant > applications my doubts have been resolved. Now that your doubts concerning usefulness of the concept have been resolved, I feel compelled to point out how limited Mathematica's implementation of PrincipalValue actually is. The primary statement in the documentation is "PrincipalValue is an option for Integrate that specifies whether the Cauchy principal value should be found for a definite integral." Of course, if Mathematica did that, I would have no complaint. Let's look at some cases where PrincipalValue does not give the principal value. Integrate[1/x^3, {x, -1, 1}, PrincipalValue -> True] should give us 0, rather than merely the statement that Integrate[1/x^3, {x, -1, 1}] doesn't converge. (Of course, the latter is true. But it doesn't answer the question which was asked.) Later, the documentation states that "Setting PrincipalValue->True gives finite answers for integrals that had single pole divergences with PrincipalValue->False." Well, the example above had a single pole (of order 3), so we might think that PrincipalValue should have worked there. But in fact, surely the documentation should have said "simple pole", rather than "single pole". (Or are "simple" and "single" considered interchangeable in this context? If so, I'm not aware of it.) Note that PrincipalValue can work correctly when there is more than one simple pole. For example, we have correctly In[1]:= Integrate[1/x + 1/(x - 1), {x, -1, 3}, PrincipalValue -> True] Out[1]= Log[3] Of course, rather than merely having the documentation changed to read "simple" instead of "single", I'd far, far rather have PrincipalValue work for poles of any order, just as the primary statement would lead us to believe. The other issue is that of doubly infinite integrals, a very important class for which the principal value may be required. Mathematica should be able to give the principal value in such cases. This discussion of PrincipalValue started in the thread "Improper integral" when Jean-Claude asked about Integrate[x/(1+x^2),{x,-Infinity,Infinity},PrincipalValue->True]. In that thread, it was shown how the user can, easily enough, obtain the principal value by asking Mathematica for the obvious symmetric limit. But if that's so easy, then Mathematica should be able to do that itself when PrincipalValue is specified! FWIW, there's a different way to help Mathematica get that principal value -- using, of all things, PrincipalValue itself. Change the variable in Integrate[x/(1+x^2),{x,-Infinity,Infinity},PrincipalValue->True] by letting x = 1/y. In general, that change turns an integral of the form Integrate[f(x),{x,-Infinity,Infinity}] into one of the form Integrate[f(1/y)/y^2,{y,-Infinity,Infinity}]. We are very lucky in our case that the resulting integral happens to have just a _simple_ pole. In[2]:= Integrate[1/(y*(y^2 + 1)), {y, -Infinity, Infinity}, PrincipalValue -> True] Out[2]= 0 David Cantrell