Skip to content

Conversation

@ChrisRackauckas-Claude
Copy link
Contributor

Summary

This PR removes the direct NLsolve.jl dependency and replaces it with SimpleNonlinearSolve.jl, similar to what was done in OrdinaryDiffEq.jl (PR #2081).

Changes:

  • Remove NLsolve from dependencies and compat
  • Add SimpleNonlinearSolve to dependencies and compat
  • Update NLSOLVEJL_SETUP to use SimpleTrustRegion instead of NLsolve.nlsolve
  • Replace OnceDifferentiable wrapper with a simple function wrapper that works with SimpleNonlinearSolve

Affected methods:

  • IIF methods (IIF1M, IIF2M, IIF1Mil) - now use SimpleNonlinearSolve internally
  • Implicit methods (ImplicitEM, ISSEM, SKenCarp, etc.) - unaffected as they already use OrdinaryDiffEqNonlinearSolve which uses NonlinearSolve internally

Test plan

  • Package precompiles successfully
  • ImplicitEM, ISSEM, SKenCarp methods work correctly
  • Solver Reversal Tests pass (152 tests)

Closes #642

🤖 Generated with Claude Code

Replace the direct NLsolve.jl dependency with SimpleNonlinearSolve.jl
for the IIF methods (IIF1M, IIF2M, IIF1Mil). This follows the same
approach taken in OrdinaryDiffEq.jl (PR #2081).

Changes:
- Remove NLsolve from dependencies and compat
- Add SimpleNonlinearSolve to dependencies and compat
- Update NLSOLVEJL_SETUP to use SimpleTrustRegion instead of NLsolve.nlsolve
- Replace OnceDifferentiable wrapper with a simple function wrapper

The implicit methods that use OrdinaryDiffEqNonlinearSolve (ImplicitEM,
ISSEM, SKenCarp, etc.) are unaffected as they already use NonlinearSolve
internally.

Closes SciML#642

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@ChrisRackauckas ChrisRackauckas merged commit e95d98c into SciML:master Dec 4, 2025
28 of 37 checks passed
@devmotion
Copy link
Member

@ChrisRackauckas CI doesn't look too good but can we tag a new release nevertheless? Or are any test failures related to the change here?

@ChrisRackauckas
Copy link
Member

yeah the test failure is unrelated to this. I know what it is and need to get to it.

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.

Remove NLsolve dependency?

3 participants