Re: Can Integrate[expr,{x,a,b}] give an incorrect result?
- To: mathgroup at smc.vnet.net
- Subject: [mg82556] Re: Can Integrate[expr,{x,a,b}] give an incorrect result?
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Wed, 24 Oct 2007 04:33:58 -0400 (EDT)
- References: <20071024002631.769$08@newsreader.com>
As I don't see anything concrete to reply to in your post I will just restate my version of this whole argument and leave it at that. I originally replied to Bobby's post in which he seemed to question the reliability of Simplify or D (or, perhaps, of indefinite integration). I replied that Mathematica's Simplify and D were practically 100% reliable and Integrate (by which I have always meant the function that computes indefinite integrals) was nearly as reliable except when its heuristics failed or perhaps when it entered an unimplemented branch of the Risch algorithm. I attributed the problem the OP was having to the way Mathematica evaluated the definite integral by applying the Newton-Leibniz rule without detecting that it should't do so in this case. I did not comment in any way on why the latter problem occured, except for remarking that it happened rather often. At this point you entered, with a reply to me, whose purpose I still do not understand. When I read it it seemed to me that you must be disagreeing with something I had written. As there was nothing at all about Simplify or D in your message, I naturally concluded that you were criticizing the way Mathematica performed indefinite integration - what I call Integrate. You seem to be suggesting that Integrate should somehow find a different anti-derivative. That's why I asked you for another algorithm - (for indefinite integration of course) that would return a different anti-derivative than the Risch algorithm. But now it turns out that you had nothing at all to add to what I had written, except perhaps the claim, which you did not make in your first post, that there is a reliable method of detecting discontinuities in the antiderivative. But actually, if you re-read your own post you will see that in it you are (or at least seem to be) suggesting that a different anti-derivative should have been found rather than the discontinuities in the one actually used by Mathematica should have been detected. These are two rather different claims. In any case, even assuming that what you meant was "that Mathematica should be better at detecting discontinuities in the anti-derivative" I don't see in what way that is different from what I originally wrote? True, I did not actually write: "it should have done better", but I prefer leave this sort of judgment to Daniel Lichtblau who actually deals with the practical difficulties of programming such things. If that "it should have done better" is your only contribution to this thread tan you should have responded to the OP rather than to me (and in a manner that seemed to suggest that you were disagreeing with something I had written). Andrzej Kozlowski On 24 Oct 2007, at 13:26, David W. Cantrell wrote: > [Message also posted to: comp.soft-sys.math.mathematica] > > Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote: >> On 23 Oct 2007, at 13:24, David W. Cantrell wrote: >>> Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote: > [snip] >>>> As for the algorithm that is implemented in "another CAS", you >>>> do not >>>> make it clear what exactly it does. >>> >>> I could provide a reference. But you said in a subsequent post that >>> "integration on the real line that has no attraction for me >>> whatever" >>> and so I know the reference would not interest you. >> >> I am not interested enough to read it. But from your post get the >> idea that you are unable to distinguish between an algorithm (like >> the Risch algorithm) and heuristics, which is quite a different >> matter. > > I don't know why you think that. In any event, it's false. > >> I challenged you to provide an algorithm that would be able >> to completely replace the the Risch algorithm for problems involving >> integration on the real line. > > I never claimed to know of an algorithm which would do that. > >> If you can't do that than you haven't got an algorithm, you have >> only got >> some, possibly sophisticated and useful, heuristics. > > Huh? Something can be _an_ algorithm and yet not satisfy the > requirement > that it "be able to completely replace the the Risch algorithm for > problems > involving integration on the real line."! > >> If you can provide a "real" replacement for the Risch algorithm I >> will admit that I was quite wrong on this. > > I have never suggested that I either could or desired to provide a > replacement for the Risch algorithm. Below, I had already briefly > described > what the algorithm does: > >>> it gets rid of the >>> unnecessary discontinuities on the real line which arise as a >>> consequence of the Weierstrass substitution. > > But in case you would prefer the authors' own words, here's what > they say > at the end of their abstract: "The algorithm works by first > evaluating the > given integral using the Weierstrass substitution in the usual way, > and > then removing any spurious discontinuities present in the > antiderivative." > > Mathematica and, indeed, all CASs known to me use the Weierstrass > substitution. An unnecessary discontinuity caused by it was not > detected by > Mathematica as being present on the interval from 0 to 2Pi; as best > I can > tell, it was that failure of detection which lead to the erroneous > evaluation of the OP's definite integral. But of course, following > use of > the Weierstrass substitution, if Mathematica had removed the > discontinuity > before applying Newton-Leibniz, no error would have occurred. > > Since the algorithm for removing such discontinuities has been > known for > over a decade, I must assume that the people at Wolfram Research > have a > good reason, unknown to me, for not having chosen to implement it. > > David W. Cantrell