To all the new readers: Ready for some math? We love math here at Casting Out Nines, and I’ll be taking at least one day a week to talk about a math topic specifically. If you have a math post you’d like to see, email me (robert [dot] talbert [at] gmail [dot] com) or leave a comment.
The Fundamental Theorem of Calculus is central to an understanding of how differential and integral calculus connect. It says that if f is a continuous function on a closed interval [a,b] and x is in the interval, then the function
is an antiderivative for f. That is, F'(x) = f(x). The FTC (technically, this is just one part of that theorem) shows you how to construct antiderivatives for any continuous function. Possibly more importantly, it connects two concepts about change -- the rate of change and the amount of accumulated change in a function. It’s a big deal.
I use a lot of technology in my Calculus II classes, and as I was reviewing the FTC in class last week, I wondered how well the technology that’s available for students to use would work with the FTC on a computational level.
So I went to Maple 15, the software we use in the class, to see how it would handle the FTC. It’s a strangely mixed bag. If you use an integrand typically used as an example in the FTC and define the function in Maple, it looks good:
So it would appear that Maple knows the FTC. But that appearance is short-lived, as you can see if you change the function just slightly:
None of the Simplify options in Maple that I tried were able to reduce the derivative in (2) down to what it should be, which is exp(-t^3). Somehow Maple has no trouble with exp(-t^2), but change that to a t^3 and there’s trouble.
It seems like there are many examples in Maple 15 that work out this way -- the derivative of the integral ends up being a hypergeometric function or something similarly complicated, when it should just be the integrand. Maybe exp(-t^2) is just a special case that Maple’s been programmed to handle, or maybe there’s a built-in simplification step that we don’t see. But it’s clear that Maple doesn’t know that the FTC ought to be used.
What about SAGE, the open-source CAS that seems to do it all? I’m a big SAGE fan, but unfortunately it doesn’t fare any better than Maple. At first things look OK:
But just as with Maple, tweak the function a little (in the same way as above) and you get an error:
It’s a different response than Maple gives, but still, pretty clearly SAGE is not employing the FTC as we would like a calculus student to do.
The only symbolic math technology that I have that did work was Wolfram|Alpha:
This isn’t surprising to me. The FTC is not really a computational result, even though calculus textbooks try to make it out to be one. It’s a conceptual result about how derivatives and integrals are related. So I would expect a computer algebra system, whose sole purpose in life is to carry out computation and which is not “aware” of conceptual results, to have a hard time with this. And I would expect a computational knowledge engine (of which Wolfram|Alpha is currently the only instance) to get this right with no problem. You’ll notice there’s no “Show Steps” link like there is in many computations done with Wolfram|Alpha. That’s likely because there aren’t really any computations being done -- Wolfram|Alpha is probably just looking at the form of the input and drawing upon its knowledge base to produce the best result, no differently than if you’d asked W|A to provide you with demographic data about a city or a lunar phase chart.
A couple of questions stick with me after this experiment. First, how exactly is Maple trying to compute the derivative of that integral? And second, why aren’t we incorporating Wolfram|Alpha more into calculus classes? W|A seems to be able to do everything beginning calculus students need, and has the “perspective” (if software can have that) to know when something is a computation and when it isn’t.