Integrate with explicit integration variable/infetesimal...
Subject: Integrate with explicit integration variable/infetesimal...
From: Stavros Macrakis
Date: Fri, 24 Sep 2004 14:01:45 -0400
Upon reflection, it seems to me pretty easy, in fact, to interpret
Leibniz-style dx in the context of integration, and even to implement
it in Maxima. dx represents an infinitesimal which, when summed under
the integral sign, gives a finite number. So the integral of a finite
non-zero number is divergent, and the integral of dx^2 is dx --
removing infinitesimals, that leaves zero.
So just expand using Taylor and voila! The answer. How useful it
is... is another matter.
xintegrate(expr, x, dx) :=
block([tay, tay1],
tay : taylor(expr, dx, 0, 1),
tay1 : ratcoef(tay, dx, 1),
if asksign(ratdisrep(tay - tay1*dx)) # 'zero
then error("integral divergent or unknown")
else integrate(tay1, x));
Note that there *are* cases which this doesn't handle, e.g. dx^a, but
I suspect that you didn't need anything this fancy in the first place.
-s