- To: mathgroup at smc.vnet.net
- Subject: [mg87754] Extending Integrate
- From: Szabolcs Horvát <szhorvat at gmail.com>
- Date: Wed, 16 Apr 2008 06:51:42 -0400 (EDT)
- Organization: University of Bergen
According to the documentation it is possible to extend Integrate with new rules: http://reference.wolfram.com/mathematica/tutorial/IntegralsThatCanAndCannotBeDone.html The specific example that is given is: Unprotect[Integrate] Integrate[Sin[Sin[a_. + b_. x_]], x_] := Jones[a, x]/b Now Integrate[Sin[Sin[3x]], x] will return Jones[0, x]/3 But if I try an integrand that is just slightly more complicated, Mathematica returns it unevaluated: In:= Integrate[a + Sin[Sin[x]], x] Out= Integrate[a + Sin[Sin[x]], x] My question is: Is it really possible to extend Integrate in an intelligent way? The above example seems to be just simple pattern matching. It would work with any function, not just Integrate. There is nothing new or surprising about it. But is it *really* possible to extend Integrate with new definitions in a way that Mathematica will use these rules when calculating more complicated Integrals? If (as I suspect) it is not possible to do this, then the documentation is a bit misleading ...