# Revision history [back]

Maxima is responsible for default symbolic integration in Sage, and nobody understands how Maxima's integration code works. I just tried continuing your example above as follows:

sage: deriv=diff((exp(x)-1)/x,x); deriv sage: f = integrate(deriv, x) sage: g = f - (exp(x)-1)/x sage: CDF(g(5)) -1.7776787288 + 2.08166817117e-17I sage: CDF(g(10)) -4.43650184726 + 2.22044604925e-16I sage: CDF(g(20)) -0.530325316824 + 2.27373675443e-12*I

So it doesn't even look like f differs from (exp(x)-1)/x by a constant. Branch cuts are probably relevant. I can't wait until we have our symbolic integration code that we actually understand.

Maxima is responsible for default symbolic integration in Sage, and nobody understands how Maxima's integration code works. I just tried continuing your example above as follows:

 sage: deriv=diff((exp(x)-1)/x,x); deriv
sage: f = integrate(deriv, x)
sage: g = f - (exp(x)-1)/x
sage: CDF(g(5))
-1.7776787288 + 2.08166817117e-17I
2.08166817117e-17*I
sage: CDF(g(10))
-4.43650184726 + 2.22044604925e-16I
2.22044604925e-16*I
sage: CDF(g(20))
-0.530325316824 + 2.27373675443e-12*I2.27373675443e-12*I


So it doesn't even look like f differs from (exp(x)-1)/x by a constant. Branch cuts are probably relevant. I can't wait until we have our symbolic integration code that we actually understand.