Skip to content

Conversation

orlitzky
Copy link
Contributor

Several tests in this file are computing integrals that "can only be solved by giac." But since re-enabling abs_integrate for maxima, that is no longer true: maxima is able to solve them, and the answer is often an improvement (defined on a larger set, for example).

Since these examples were meant to demonstrate the fallback to giac, we delete them rather than update the expected output to conform with maxima's. We have enough trouble updating the existing maxima expressions every time a new version of maxima is released.

Several tests in this file are computing integrals that "can only be
solved by giac." But since re-enabling abs_integrate for maxima, that
is no longer true: maxima is able to solve them, and the answer is
often an improvement (defined on a larger set, for example).

Since these examples were meant to demonstrate the fallback to giac,
we delete them rather than update the expected output to conform with
maxima's. We have enough trouble updating the existing maxima
expressions every time a new version of maxima is released.
Copy link

Documentation preview for this PR (built with commit 9e077a4; changes) is ready! 🎉
This preview will update shortly after each push to this PR.

@user202729
Copy link
Contributor

then which test would check that the abs_integrate feature is working?

(if the bottleneck is just sage --fixdoctests for every maxima update, how about assert "integrate" not in str(integrate(...))?)

@antonio-rojas
Copy link
Contributor

then which test would check that the abs_integrate feature is working?

The tests that were fixed/added in #40574

@orlitzky
Copy link
Contributor Author

(if the bottleneck is just sage --fixdoctests for every maxima update, how about assert "integrate" not in str(integrate(...))?)

We usually try to support a few versions of maxima so that users don't have to build their own copy. It gets difficult because sometimes old versions have bugs and the new version that fixes the bugs has regressions. To update the tests, you first have to install all of those versions of maxima somewhere, and then go through and carefully update each test after ensuring that the answer is still correct. In #40679 we even have an example where the new version raises a RuntimeError on an integral that used to be a no-op.

In TESTS::, something like bool(actual == expected) would be fine, but in EXAMPLES:, it's not very instructive. A normal user would not be doing that; they want to see the answer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants