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