Ask Your Question

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*I

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.