Opened 14 years ago
Last modified 23 months ago
#3732 new enhancement
Unnecessary Maxima interactions in integration
Reported by: | William Stein | Owned by: | Gary Furnish |
---|---|---|---|
Priority: | major | Milestone: | sage-6.4 |
Component: | calculus | Keywords: | |
Cc: | Merged in: | ||
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
Here are a variety of integrals for which Maxima should not have to interact to ask about assumptions, but does.
Attachments (2)
Change History (13)
Changed 14 years ago by
Attachment: | testintfailscases.py added |
---|
comment:1 Changed 14 years ago by
comment:2 Changed 14 years ago by
I added a testcase for another integral, namely integral( s^2 * exp(- (a + b) * s^2 ), s)
, that fails to integrate. This is reproduced on Sage 3.1.1.
comment:3 Changed 14 years ago by
Summary: | calculus -- some examples of sage integration failing → Additional examples of maxima interactions in calculus leading to errors |
---|
Added clearer summary. The second attachment is not relevant to this ticket, though certainly we should be able to integrate arbitrary functions!
What is the purpose of this ticket long-term? These could be added, complete with their error messages, to calculus.py examples - but we already have several of those. Or one could say this is just a reminder of what we would eventually like Sage to be able to use Maxima to do, and put them in but not test them.
Otherwise this is in some sense related to solving #780 (among several others), which is a thornier problem.
comment:4 Changed 13 years ago by
With the latest Maxima upgrade and Pynac conversion, the last two integrals are correct - the penultimate one is, of course,
1/2*sqrt(pi)
and the last one is
1/2*(a+b)^(3/2)*s^3*gamma_incomplete(-3/2,(a+b)/s^2)/(s^2)^(3/2)
comment:5 Changed 13 years ago by
Description: | modified (diff) |
---|---|
Summary: | Additional examples of maxima interactions in calculus leading to errors → Unnecessary Maxima interactions in integration |
Here is the current state of this ticket. Of the examples in the first attached file, the following are legitimate bugs of this type.
The first example has unnecessary questions.
sage: integrate(1/sqrt(x-q), x, 1, 2) 2 sqrt(2 - q) - 2 sqrt(1 - q) # should be this always
The third example is definitely a case for this, as of Maxima 5.19.1:
(%i19) integrate(log(q-x), x, a, b); Is b - a positive, negative, or zero? positive; (%o19) (b - q) log(q - b) - (a - q) log(q - a) - b + a (%i20) integrate(log(q-x), x, a, b); Is b - a positive, negative, or zero? negative; (%o20) (b - q) log(q - b) - (a - q) log(q - a) - b + a (%i21) integrate(log(q-x), x, a, b); Is b - a positive, negative, or zero? zero; (%o21) (b - q) log(q - b) - (a - q) log(q - a) - b + a
The fifth example has MANY questions to ask, always the same answer:
(%i36) integrate(1/sqrt(q^2-x^2),x, a, b); Is b - a positive, negative, or zero? negative; Is q - a positive, negative, or zero? zero; Is q + a positive, negative, or zero? zero; Is q + b positive, negative, or zero? positive; b a (%o36) asin(------) - asin(------) abs(q) abs(q)
++++++++++++++++++++++++++++++++
The following should not be considered bugs, at least not for the reason given.
The second example is okay:
sage: integrate(1/(x-q),x,1,2)
Maxima adds pi*I and/or switches q-2 to 2-q as appropriate. If we don't like those differences, that should be on a different ticket.
The fourth example is:
sage: integrate(1/(q-x^2), x)
The answers given are a constant away from each other, but look very different. This probably should be considered a bug (Maxima can't connect between logs and arctan/h stuff), but is likely to not be resolved soon, or by questions.
The last example is definitely not a bug, as for q=-1 you should get a different answer!
comment:6 Changed 13 years ago by
Report Upstream: | → N/A |
---|
Update: these (the three remaining ones above) are still in Maxima 5.20.1.
comment:7 Changed 9 years ago by
Milestone: | sage-5.11 → sage-5.12 |
---|
comment:8 Changed 9 years ago by
Milestone: | sage-6.1 → sage-6.2 |
---|
comment:9 Changed 9 years ago by
Milestone: | sage-6.2 → sage-6.3 |
---|
comment:10 Changed 8 years ago by
Milestone: | sage-6.3 → sage-6.4 |
---|
comment:11 Changed 23 months ago by
Here is a particularly easy one (that sympy and giac can do, of course):
sage: var("a"); sage: integrate(cos(x), x, 0, a) <snip> ValueError: ... Is a positive, negative or zero? sage: integrate(cos(x), x, 0, a, algorithm="sympy") sin(a) sage: integrate(cos(x), x, 0, a, algorithm="giac") sin(a)
There's another example (that's with 3.1.2.alpha2), here it shouldn't need assumption on a: