Skip to content

Fix infinite refinement loop in Maple interface - #382

Merged
ederc merged 1 commit into
algebraic-solving:masterfrom
mohabsafey:bug-maple-interface
Oct 23, 2026
Merged

ederc merged 1 commit into
algebraic-solving:masterfrom
mohabsafey:bug-maple-interface

Conversation

@mohabsafey

Copy link
Copy Markdown
Contributor

RootFinding[RefineRoot] was called without a digits option, so once an isolating interval was finer than the precision implied by Digits, it returned the same interval forever. SplitAndRefinePerConstraints (and RefineSolutions) then looped without ever resolving the sign of constraints that take tiny nonzero values at a solution. The required precision, already computed in prec, is now passed to RefineRoot.

Also return the refined box instead of the original coarse one in SplitAndRefinePerConstraints, so that returned solutions are consistent with the returned constraint values.

This PR has been done with the help of Claude Opus 5.5

RootFinding[RefineRoot] was called without a digits option, so once an
isolating interval was finer than the precision implied by Digits, it
returned the same interval forever. SplitAndRefinePerConstraints (and
RefineSolutions) then looped without ever resolving the sign of
constraints that take tiny nonzero values at a solution. The required
precision, already computed in prec, is now passed to RefineRoot.

Also return the refined box instead of the original coarse one in
SplitAndRefinePerConstraints, so that returned solutions are
consistent with the returned constraint values.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ederc
ederc merged commit 3d55ba8 into algebraic-solving:master Oct 23, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants