Use the faster libgiac interface for "giac" integration #38686
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While working on #38668, I noticed that all of our examples that use giac for integration do so with
algorithm='giac'
. This uses the pexpect interface that is much slower (and simply sloppier) than the library interface that would be used withalgorithm='libgiac'
.To fix this, I could just change those examples to
algorithm='libgiac'
, but since the libgiac interface is better in every way, that seems kind of rude to me. Most users aren't going to know what lib-anything is, and if they just want to use giac, they're going to tryalgorithm='giac'
. So instead this PR makesalgorithm='giac'
do the right thing, and use the better interface. I've left thealgorithm='libgiac'
alone for now to avoid breaking any code.Afterwards I have removed the pexpect giac integrator entirely, because there's no reason to use it, and no other code in sagelib uses it.