From 2cb8d3fae87b08bd5f6e5de6c073b5923c610a30 Mon Sep 17 00:00:00 2001 From: jClugstor Date: Wed, 29 Oct 2025 11:53:04 -0400 Subject: [PATCH 1/4] thread alias through to __solve --- ...NonlinearSolveFixedPointAccelerationExt.jl | 3 +- ext/NonlinearSolveNLSolversExt.jl | 3 +- ext/NonlinearSolveNLsolveExt.jl | 3 +- ext/NonlinearSolvePETScExt.jl | 3 +- ext/NonlinearSolveSIAMFANLEquationsExt.jl | 3 +- ext/NonlinearSolveSpeedMappingExt.jl | 3 +- lib/NonlinearSolveBase/src/polyalg.jl | 5 +- lib/NonlinearSolveBase/src/solve.jl | 61 +++++++++++-------- lib/NonlinearSolveFirstOrder/src/solve.jl | 3 +- lib/NonlinearSolveQuasiNewton/src/solve.jl | 3 +- .../src/solve.jl | 3 +- .../src/SimpleNonlinearSolve.jl | 2 +- lib/SimpleNonlinearSolve/src/dfsane.jl | 3 +- lib/SimpleNonlinearSolve/src/halley.jl | 3 +- lib/SimpleNonlinearSolve/src/lbroyden.jl | 3 +- lib/SimpleNonlinearSolve/src/raphson.jl | 3 +- lib/SimpleNonlinearSolve/src/trust_region.jl | 3 +- 17 files changed, 69 insertions(+), 41 deletions(-) diff --git a/ext/NonlinearSolveFixedPointAccelerationExt.jl b/ext/NonlinearSolveFixedPointAccelerationExt.jl index bee8e8ee7..1a340165b 100644 --- a/ext/NonlinearSolveFixedPointAccelerationExt.jl +++ b/ext/NonlinearSolveFixedPointAccelerationExt.jl @@ -8,9 +8,10 @@ using SciMLBase: SciMLBase, NonlinearProblem, ReturnCode function SciMLBase.__solve( prob::NonlinearProblem, alg::FixedPointAccelerationJL, args...; - abstol = nothing, maxiters = 1000, alias_u0::Bool = false, + abstol = nothing, maxiters = 1000, alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), show_trace::Val = Val(false), termination_condition = nothing, kwargs... ) + alias_u0 = alias.alias_u0 NonlinearSolveBase.assert_extension_supported_termination_condition( termination_condition, alg ) diff --git a/ext/NonlinearSolveNLSolversExt.jl b/ext/NonlinearSolveNLSolversExt.jl index b72ffbec3..b1ad328cd 100644 --- a/ext/NonlinearSolveNLSolversExt.jl +++ b/ext/NonlinearSolveNLSolversExt.jl @@ -13,9 +13,10 @@ const DI = DifferentiationInterface function SciMLBase.__solve( prob::NonlinearProblem, alg::NLSolversJL, args...; - abstol = nothing, reltol = nothing, maxiters = 1000, alias_u0::Bool = false, + abstol = nothing, reltol = nothing, maxiters = 1000, alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) + alias_u0 = alias.alias_u0 NonlinearSolveBase.assert_extension_supported_termination_condition( termination_condition, alg ) diff --git a/ext/NonlinearSolveNLsolveExt.jl b/ext/NonlinearSolveNLsolveExt.jl index 1b0beb993..6edad3729 100644 --- a/ext/NonlinearSolveNLsolveExt.jl +++ b/ext/NonlinearSolveNLsolveExt.jl @@ -9,10 +9,11 @@ using SciMLBase: SciMLBase, NonlinearProblem, ReturnCode function SciMLBase.__solve( prob::NonlinearProblem, alg::NLsolveJL, args...; - abstol = nothing, maxiters = 1000, alias_u0::Bool = false, + abstol = nothing, maxiters = 1000, alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, trace_level = TraceMinimal(), store_trace::Val = Val(false), show_trace::Val = Val(false), kwargs... ) + alias_u0 = alias.alias_u0 NonlinearSolveBase.assert_extension_supported_termination_condition( termination_condition, alg ) diff --git a/ext/NonlinearSolvePETScExt.jl b/ext/NonlinearSolvePETScExt.jl index cee56fc77..30d852570 100644 --- a/ext/NonlinearSolvePETScExt.jl +++ b/ext/NonlinearSolvePETScExt.jl @@ -14,9 +14,10 @@ using SparseArrays: AbstractSparseMatrix function SciMLBase.__solve( prob::NonlinearProblem, alg::PETScSNES, args...; abstol = nothing, reltol = nothing, - maxiters = 1000, alias_u0::Bool = false, termination_condition = nothing, + maxiters = 1000, alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, show_trace::Val = Val(false), kwargs... ) + alias_u0 = alias.alias_u0 # XXX: https://petsc.org/release/manualpages/SNES/SNESSetConvergenceTest/ NonlinearSolveBase.assert_extension_supported_termination_condition( termination_condition, alg; abs_norm_supported = false diff --git a/ext/NonlinearSolveSIAMFANLEquationsExt.jl b/ext/NonlinearSolveSIAMFANLEquationsExt.jl index ab2fd5ebf..a735cf8e6 100644 --- a/ext/NonlinearSolveSIAMFANLEquationsExt.jl +++ b/ext/NonlinearSolveSIAMFANLEquationsExt.jl @@ -39,9 +39,10 @@ end function SciMLBase.__solve( prob::NonlinearProblem, alg::SIAMFANLEquationsJL, args...; - abstol = nothing, reltol = nothing, alias_u0::Bool = false, maxiters = 1000, + abstol = nothing, reltol = nothing, alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), maxiters = 1000, termination_condition = nothing, show_trace = Val(false), kwargs... ) + alias_u0 = alias.alias_u0 NonlinearSolveBase.assert_extension_supported_termination_condition( termination_condition, alg ) diff --git a/ext/NonlinearSolveSpeedMappingExt.jl b/ext/NonlinearSolveSpeedMappingExt.jl index e32dbb559..a7dff8231 100644 --- a/ext/NonlinearSolveSpeedMappingExt.jl +++ b/ext/NonlinearSolveSpeedMappingExt.jl @@ -8,10 +8,11 @@ using SciMLBase: SciMLBase, NonlinearProblem, ReturnCode function SciMLBase.__solve( prob::NonlinearProblem, alg::SpeedMappingJL, args...; - abstol = nothing, maxiters = 1000, alias_u0::Bool = false, + abstol = nothing, maxiters = 1000, alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), maxtime = nothing, store_trace::Val = Val(false), termination_condition = nothing, kwargs... ) + alias_u0 = alias.alias_u0 NonlinearSolveBase.assert_extension_supported_termination_condition( termination_condition, alg ) diff --git a/lib/NonlinearSolveBase/src/polyalg.jl b/lib/NonlinearSolveBase/src/polyalg.jl index 90ca2ca2e..d8dae72c4 100644 --- a/lib/NonlinearSolveBase/src/polyalg.jl +++ b/lib/NonlinearSolveBase/src/polyalg.jl @@ -117,9 +117,10 @@ end function SciMLBase.__init( prob::AbstractNonlinearProblem, alg::NonlinearSolvePolyAlgorithm, args...; stats = NLStats(0, 0, 0, 0, 0), maxtime = nothing, maxiters = 1000, - internalnorm::IN = L2_NORM, alias_u0 = false, verbose = true, + internalnorm::IN = L2_NORM, alias = NonlinearAliasSpecifier(alias_u0 = false), verbose = true, initializealg = NonlinearSolveDefaultInit(), kwargs... ) where {IN} + alias_u0 = alias.alias_u0 if alias_u0 && !ArrayInterface.ismutable(prob.u0) verbose && @warn "`alias_u0` has been set to `true`, but `u0` is \ immutable (checked using `ArrayInterface.ismutable`)." @@ -135,7 +136,7 @@ function SciMLBase.__init( map(alg.algs) do solver SciMLBase.__init( prob, solver, args...; - stats, maxtime, internalnorm, alias_u0, verbose, + stats, maxtime, internalnorm, alias, verbose, initializealg = SciMLBase.NoInit(), kwargs... ) end, diff --git a/lib/NonlinearSolveBase/src/solve.jl b/lib/NonlinearSolveBase/src/solve.jl index 0fe813dbd..13ec75fde 100644 --- a/lib/NonlinearSolveBase/src/solve.jl +++ b/lib/NonlinearSolveBase/src/solve.jl @@ -50,30 +50,24 @@ function solve(prob::AbstractNonlinearProblem, args...; sensealg = nothing, sensealg = prob.kwargs[:sensealg] end - if haskey(prob.kwargs, :alias_u0) - @warn "The `alias_u0` keyword argument is deprecated. Please use a NonlinearAliasSpecifier, e.g. `alias = NonlinearAliasSpecifier(alias_u0 = true)`." - alias_spec = NonlinearAliasSpecifier(alias_u0 = prob.kwargs[:alias_u0]) - elseif haskey(kwargs, :alias_u0) - @warn "The `alias_u0` keyword argument is deprecated. Please use a NonlinearAliasSpecifier, e.g. `alias = NonlinearAliasSpecifier(alias_u0 = true)`." - alias_spec = NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) - end - - if haskey(prob.kwargs, :alias) && prob.kwargs[:alias] isa Bool - alias_spec = NonlinearAliasSpecifier(alias = prob.kwargs[:alias]) + alias_spec = if haskey(kwargs, :alias) && kwargs[:alias] isa NonlinearAliasSpecifier + kwargs[:alias] + elseif haskey(prob.kwargs, :alias) && prob.kwargs[:alias] isa NonlinearAliasSpecifier + prob.kwargs[:alias] elseif haskey(kwargs, :alias) && kwargs[:alias] isa Bool - alias_spec = NonlinearAliasSpecifier(alias = kwargs[:alias]) - end - - if haskey(prob.kwargs, :alias) && prob.kwargs[:alias] isa NonlinearAliasSpecifier - alias_spec = prob.kwargs[:alias] - elseif haskey(kwargs, :alias) && kwargs[:alias] isa NonlinearAliasSpecifier - alias_spec = kwargs[:alias] + NonlinearAliasSpecifier(alias = kwargs[:alias]) + elseif haskey(prob.kwargs, :alias) && prob.kwargs[:alias] isa Bool + NonlinearAliasSpecifier(alias = prob.kwargs[:alias]) + elseif haskey(kwargs, :alias_u0) + @warn lazy"The `alias_u0` keyword argument is deprecated. Please use a NonlinearAliasSpecifier, e.g. `alias = NonlinearAliasSpecifier(alias_u0 = true)`." + NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + elseif haskey(prob.kwargs, :alias_u0) + @warn lazy"The `alias_u0` keyword argument is deprecated. Please use a NonlinearAliasSpecifier, e.g. `alias = NonlinearAliasSpecifier(alias_u0 = true)`." + NonlinearAliasSpecifier(alias_u0 = prob.kwargs[:alias_u0]) else - alias_spec = NonlinearAliasSpecifier(alias_u0 = false) + NonlinearAliasSpecifier(alias_u0 = false) end - alias_u0 = alias_spec.alias_u0 - u0 = u0 !== nothing ? u0 : prob.u0 p = p !== nothing ? p : prob.p @@ -83,7 +77,7 @@ function solve(prob::AbstractNonlinearProblem, args...; sensealg = nothing, u0, p, args...; - alias_u0 = alias_u0, + alias = alias_spec, originator = SciMLBase.ChainRulesOriginator(), kwargs...)) else @@ -92,7 +86,7 @@ function solve(prob::AbstractNonlinearProblem, args...; sensealg = nothing, u0, p, args...; - alias_u0 = alias_u0, + alias = alias_spec, originator = SciMLBase.ChainRulesOriginator(), kwargs...) end @@ -170,10 +164,28 @@ function init( sensealg = prob.kwargs[:sensealg] end + alias_spec = if haskey(kwargs, :alias) && kwargs[:alias] isa NonlinearAliasSpecifier + kwargs[:alias] + elseif haskey(prob.kwargs, :alias) && prob.kwargs[:alias] isa NonlinearAliasSpecifier + prob.kwargs[:alias] + elseif haskey(kwargs, :alias) && kwargs[:alias] isa Bool + NonlinearAliasSpecifier(alias = kwargs[:alias]) + elseif haskey(prob.kwargs, :alias) && prob.kwargs[:alias] isa Bool + NonlinearAliasSpecifier(alias = prob.kwargs[:alias]) + elseif haskey(kwargs, :alias_u0) + @warn "The `alias_u0` keyword argument is deprecated. Please use a NonlinearAliasSpecifier, e.g. `alias = NonlinearAliasSpecifier(alias_u0 = true)`." + NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + elseif haskey(prob.kwargs, :alias_u0) + @warn "The `alias_u0` keyword argument is deprecated. Please use a NonlinearAliasSpecifier, e.g. `alias = NonlinearAliasSpecifier(alias_u0 = true)`." + NonlinearAliasSpecifier(alias_u0 = prob.kwargs[:alias_u0]) + else + NonlinearAliasSpecifier(alias_u0 = false) + end + u0 = u0 !== nothing ? u0 : prob.u0 p = p !== nothing ? p : prob.p - init_up(prob, sensealg, u0, p, args...; kwargs...) + init_up(prob, sensealg, u0, p, args...; alias = alias_spec, kwargs...) end function init_up(prob::AbstractNonlinearProblem, @@ -375,13 +387,14 @@ end @generated function __generated_polysolve( prob::AbstractNonlinearProblem, alg::NonlinearSolvePolyAlgorithm{Val{N}}, args...; - stats = NLStats(0, 0, 0, 0, 0), alias_u0 = false, verbose = true, + stats = NLStats(0, 0, 0, 0, 0), alias = NonlinearAliasSpecifier(alias_u0 = false), verbose = true, initializealg = NonlinearSolveDefaultInit(), kwargs... ) where {N} sol_syms = [gensym("sol") for _ in 1:N] prob_syms = [gensym("prob") for _ in 1:N] u_result_syms = [gensym("u_result") for _ in 1:N] calls = [quote + alias_u0 = alias.alias_u0 current = alg.start_index if alias_u0 && !ArrayInterface.ismutable(prob.u0) verbose && @warn "`alias_u0` has been set to `true`, but `u0` is \ diff --git a/lib/NonlinearSolveFirstOrder/src/solve.jl b/lib/NonlinearSolveFirstOrder/src/solve.jl index 874f5dbc4..b6fd6102d 100644 --- a/lib/NonlinearSolveFirstOrder/src/solve.jl +++ b/lib/NonlinearSolveFirstOrder/src/solve.jl @@ -127,11 +127,12 @@ NonlinearSolveBase.@internal_caches(GeneralizedFirstOrderAlgorithmCache, function SciMLBase.__init( prob::AbstractNonlinearProblem, alg::GeneralizedFirstOrderAlgorithm, args...; - stats = NLStats(0, 0, 0, 0, 0), alias_u0 = false, maxiters = 1000, + stats = NLStats(0, 0, 0, 0, 0), alias = NonlinearSolveBase.NonlinearAliasSpecifier(alias_u0 = false), maxiters = 1000, abstol = nothing, reltol = nothing, maxtime = nothing, termination_condition = nothing, internalnorm::IN = L2_NORM, linsolve_kwargs = (;), initializealg = NonlinearSolveBase.NonlinearSolveDefaultInit(), kwargs... ) where {IN} + alias_u0 = alias.alias_u0 @set! alg.autodiff = NonlinearSolveBase.select_jacobian_autodiff(prob, alg.autodiff) provided_jvp_autodiff = alg.jvp_autodiff !== nothing @set! alg.jvp_autodiff = if !provided_jvp_autodiff && alg.autodiff !== nothing && diff --git a/lib/NonlinearSolveQuasiNewton/src/solve.jl b/lib/NonlinearSolveQuasiNewton/src/solve.jl index e24c6f45e..8bdfd0046 100644 --- a/lib/NonlinearSolveQuasiNewton/src/solve.jl +++ b/lib/NonlinearSolveQuasiNewton/src/solve.jl @@ -145,12 +145,13 @@ NonlinearSolveBase.@internal_caches(QuasiNewtonCache, function SciMLBase.__init( prob::AbstractNonlinearProblem, alg::QuasiNewtonAlgorithm, args...; - stats = NLStats(0, 0, 0, 0, 0), alias_u0 = false, maxtime = nothing, + stats = NLStats(0, 0, 0, 0, 0), alias = NonlinearSolveBase.NonlinearAliasSpecifier(alias_u0 = false), maxtime = nothing, maxiters = 1000, abstol = nothing, reltol = nothing, linsolve_kwargs = (;), termination_condition = nothing, internalnorm::F = L2_NORM, initializealg = NonlinearSolveBase.NonlinearSolveDefaultInit(), kwargs... ) where {F} + alias_u0 = alias.alias_u0 timer = get_timer_output() @static_timeit timer "cache construction" begin u = Utils.maybe_unaliased(prob.u0, alias_u0) diff --git a/lib/NonlinearSolveSpectralMethods/src/solve.jl b/lib/NonlinearSolveSpectralMethods/src/solve.jl index 9bfd5709c..a7c8d77ab 100644 --- a/lib/NonlinearSolveSpectralMethods/src/solve.jl +++ b/lib/NonlinearSolveSpectralMethods/src/solve.jl @@ -122,10 +122,11 @@ NonlinearSolveBase.@internal_caches GeneralizedDFSaneCache :linesearch_cache function SciMLBase.__init( prob::AbstractNonlinearProblem, alg::GeneralizedDFSane, args...; - stats = NLStats(0, 0, 0, 0, 0), alias_u0 = false, maxiters = 1000, + stats = NLStats(0, 0, 0, 0, 0), alias = NonlinearSolveBase.NonlinearAliasSpecifier(alias_u0 = false), maxiters = 1000, abstol = nothing, reltol = nothing, termination_condition = nothing, maxtime = nothing, initializealg = NonlinearSolveBase.NonlinearSolveDefaultInit(), kwargs... ) + alias_u0 = alias.alias_u0 timer = get_timer_output() @static_timeit timer "cache construction" begin diff --git a/lib/SimpleNonlinearSolve/src/SimpleNonlinearSolve.jl b/lib/SimpleNonlinearSolve/src/SimpleNonlinearSolve.jl index 782de6468..915693ee8 100644 --- a/lib/SimpleNonlinearSolve/src/SimpleNonlinearSolve.jl +++ b/lib/SimpleNonlinearSolve/src/SimpleNonlinearSolve.jl @@ -14,7 +14,7 @@ using NonlinearSolveBase: NonlinearSolveBase, ImmutableNonlinearProblem, L2_NORM nonlinearsolve_forwarddiff_solve, nonlinearsolve_dual_solution, AbstractNonlinearSolveAlgorithm using SciMLBase: SciMLBase, NonlinearFunction, NonlinearProblem, - NonlinearLeastSquaresProblem, ReturnCode, remake + NonlinearLeastSquaresProblem, ReturnCode, remake, NonlinearAliasSpecifier using LinearAlgebra: LinearAlgebra, dot diff --git a/lib/SimpleNonlinearSolve/src/dfsane.jl b/lib/SimpleNonlinearSolve/src/dfsane.jl index 0ba330440..8f6fd1cf2 100644 --- a/lib/SimpleNonlinearSolve/src/dfsane.jl +++ b/lib/SimpleNonlinearSolve/src/dfsane.jl @@ -65,9 +65,10 @@ end function SciMLBase.__solve( prob::ImmutableNonlinearProblem, alg::SimpleDFSane, args...; - abstol = nothing, reltol = nothing, maxiters = 1000, alias_u0 = false, + abstol = nothing, reltol = nothing, maxiters = 1000, alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) + alias_u0 = alias.alias_u0 x = NLBUtils.maybe_unaliased(prob.u0, alias_u0) fx = NLBUtils.evaluate_f(prob, x) T = promote_type(eltype(fx), eltype(x)) diff --git a/lib/SimpleNonlinearSolve/src/halley.jl b/lib/SimpleNonlinearSolve/src/halley.jl index 7935e1ede..8881b9d1b 100644 --- a/lib/SimpleNonlinearSolve/src/halley.jl +++ b/lib/SimpleNonlinearSolve/src/halley.jl @@ -31,8 +31,9 @@ end function SciMLBase.__solve( prob::ImmutableNonlinearProblem, alg::SimpleHalley, args...; abstol = nothing, reltol = nothing, maxiters = 1000, - alias_u0 = false, termination_condition = nothing, kwargs... + alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) + alias_u0 = alias.alias_u0 autodiff = alg.autodiff x = NLBUtils.maybe_unaliased(prob.u0, alias_u0) fx = NLBUtils.evaluate_f(prob, x) diff --git a/lib/SimpleNonlinearSolve/src/lbroyden.jl b/lib/SimpleNonlinearSolve/src/lbroyden.jl index 979b244f8..6fd94eba7 100644 --- a/lib/SimpleNonlinearSolve/src/lbroyden.jl +++ b/lib/SimpleNonlinearSolve/src/lbroyden.jl @@ -55,8 +55,9 @@ end @views function internal_generic_solve( prob::ImmutableNonlinearProblem, alg::SimpleLimitedMemoryBroyden, args...; abstol = nothing, reltol = nothing, maxiters = 1000, - alias_u0 = false, termination_condition = nothing, kwargs... + alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) + alias_u0 = alias.alias_u0 x = NLBUtils.maybe_unaliased(prob.u0, alias_u0) η = min(NLBUtils.unwrap_val(alg.threshold), maxiters) diff --git a/lib/SimpleNonlinearSolve/src/raphson.jl b/lib/SimpleNonlinearSolve/src/raphson.jl index 812c53d02..3306e85f7 100644 --- a/lib/SimpleNonlinearSolve/src/raphson.jl +++ b/lib/SimpleNonlinearSolve/src/raphson.jl @@ -35,8 +35,9 @@ function SciMLBase.__solve( prob::Union{ImmutableNonlinearProblem, NonlinearLeastSquaresProblem}, alg::SimpleNewtonRaphson, args...; abstol = nothing, reltol = nothing, maxiters = 1000, - alias_u0 = false, termination_condition = nothing, kwargs... + alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) + alias_u0 = alias.alias_u0 autodiff = alg.autodiff x = NLBUtils.maybe_unaliased(prob.u0, alias_u0) fx = NLBUtils.evaluate_f(prob, x) diff --git a/lib/SimpleNonlinearSolve/src/trust_region.jl b/lib/SimpleNonlinearSolve/src/trust_region.jl index aa6041d61..932857efe 100644 --- a/lib/SimpleNonlinearSolve/src/trust_region.jl +++ b/lib/SimpleNonlinearSolve/src/trust_region.jl @@ -61,8 +61,9 @@ function SciMLBase.__solve( prob::Union{ImmutableNonlinearProblem, NonlinearLeastSquaresProblem}, alg::SimpleTrustRegion, args...; abstol = nothing, reltol = nothing, maxiters = 1000, - alias_u0 = false, termination_condition = nothing, kwargs... + alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) + alias_u0 = alias.alias_u0 x = NLBUtils.maybe_unaliased(prob.u0, alias_u0) T = eltype(x) Δₘₐₓ = T(alg.max_trust_radius) From e413c85000c7747b02b60b2e3b900423f1753530 Mon Sep 17 00:00:00 2001 From: jClugstor Date: Wed, 29 Oct 2025 12:21:57 -0400 Subject: [PATCH 2/4] add deprecation path for alias_u0 in __init and __solve --- ext/NonlinearSolveFixedPointAccelerationExt.jl | 3 +++ ext/NonlinearSolveNLSolversExt.jl | 3 +++ ext/NonlinearSolveNLsolveExt.jl | 3 +++ ext/NonlinearSolvePETScExt.jl | 3 +++ ext/NonlinearSolveSIAMFANLEquationsExt.jl | 3 +++ ext/NonlinearSolveSpeedMappingExt.jl | 3 +++ lib/NonlinearSolveBase/src/polyalg.jl | 3 +++ lib/NonlinearSolveBase/src/solve.jl | 4 ++-- lib/NonlinearSolveFirstOrder/src/solve.jl | 3 +++ lib/NonlinearSolveQuasiNewton/src/solve.jl | 3 +++ lib/NonlinearSolveSpectralMethods/src/solve.jl | 3 +++ lib/SimpleNonlinearSolve/src/dfsane.jl | 3 +++ lib/SimpleNonlinearSolve/src/halley.jl | 3 +++ lib/SimpleNonlinearSolve/src/lbroyden.jl | 3 +++ lib/SimpleNonlinearSolve/src/raphson.jl | 3 +++ lib/SimpleNonlinearSolve/src/trust_region.jl | 3 +++ 16 files changed, 47 insertions(+), 2 deletions(-) diff --git a/ext/NonlinearSolveFixedPointAccelerationExt.jl b/ext/NonlinearSolveFixedPointAccelerationExt.jl index 1a340165b..5160beafb 100644 --- a/ext/NonlinearSolveFixedPointAccelerationExt.jl +++ b/ext/NonlinearSolveFixedPointAccelerationExt.jl @@ -11,6 +11,9 @@ function SciMLBase.__solve( abstol = nothing, maxiters = 1000, alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), show_trace::Val = Val(false), termination_condition = nothing, kwargs... ) + if haskey(kwargs, :alias_u0) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 NonlinearSolveBase.assert_extension_supported_termination_condition( termination_condition, alg diff --git a/ext/NonlinearSolveNLSolversExt.jl b/ext/NonlinearSolveNLSolversExt.jl index b1ad328cd..bb79ba4b5 100644 --- a/ext/NonlinearSolveNLSolversExt.jl +++ b/ext/NonlinearSolveNLSolversExt.jl @@ -16,6 +16,9 @@ function SciMLBase.__solve( abstol = nothing, reltol = nothing, maxiters = 1000, alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) + if haskey(kwargs, :alias_u0) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 NonlinearSolveBase.assert_extension_supported_termination_condition( termination_condition, alg diff --git a/ext/NonlinearSolveNLsolveExt.jl b/ext/NonlinearSolveNLsolveExt.jl index 6edad3729..7fa040282 100644 --- a/ext/NonlinearSolveNLsolveExt.jl +++ b/ext/NonlinearSolveNLsolveExt.jl @@ -13,6 +13,9 @@ function SciMLBase.__solve( termination_condition = nothing, trace_level = TraceMinimal(), store_trace::Val = Val(false), show_trace::Val = Val(false), kwargs... ) + if haskey(kwargs, :alias_u0) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 NonlinearSolveBase.assert_extension_supported_termination_condition( termination_condition, alg diff --git a/ext/NonlinearSolvePETScExt.jl b/ext/NonlinearSolvePETScExt.jl index 30d852570..309daaae5 100644 --- a/ext/NonlinearSolvePETScExt.jl +++ b/ext/NonlinearSolvePETScExt.jl @@ -17,6 +17,9 @@ function SciMLBase.__solve( maxiters = 1000, alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, show_trace::Val = Val(false), kwargs... ) + if haskey(kwargs, :alias_u0) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 # XXX: https://petsc.org/release/manualpages/SNES/SNESSetConvergenceTest/ NonlinearSolveBase.assert_extension_supported_termination_condition( diff --git a/ext/NonlinearSolveSIAMFANLEquationsExt.jl b/ext/NonlinearSolveSIAMFANLEquationsExt.jl index a735cf8e6..e41cbf1f4 100644 --- a/ext/NonlinearSolveSIAMFANLEquationsExt.jl +++ b/ext/NonlinearSolveSIAMFANLEquationsExt.jl @@ -42,6 +42,9 @@ function SciMLBase.__solve( abstol = nothing, reltol = nothing, alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), maxiters = 1000, termination_condition = nothing, show_trace = Val(false), kwargs... ) + if haskey(kwargs, :alias_u0) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 NonlinearSolveBase.assert_extension_supported_termination_condition( termination_condition, alg diff --git a/ext/NonlinearSolveSpeedMappingExt.jl b/ext/NonlinearSolveSpeedMappingExt.jl index a7dff8231..e6b8498e0 100644 --- a/ext/NonlinearSolveSpeedMappingExt.jl +++ b/ext/NonlinearSolveSpeedMappingExt.jl @@ -12,6 +12,9 @@ function SciMLBase.__solve( maxtime = nothing, store_trace::Val = Val(false), termination_condition = nothing, kwargs... ) + if haskey(kwargs, :alias_u0) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 NonlinearSolveBase.assert_extension_supported_termination_condition( termination_condition, alg diff --git a/lib/NonlinearSolveBase/src/polyalg.jl b/lib/NonlinearSolveBase/src/polyalg.jl index d8dae72c4..fc141300d 100644 --- a/lib/NonlinearSolveBase/src/polyalg.jl +++ b/lib/NonlinearSolveBase/src/polyalg.jl @@ -120,6 +120,9 @@ function SciMLBase.__init( internalnorm::IN = L2_NORM, alias = NonlinearAliasSpecifier(alias_u0 = false), verbose = true, initializealg = NonlinearSolveDefaultInit(), kwargs... ) where {IN} + if haskey(kwargs, :alias_u0) + alias = NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 if alias_u0 && !ArrayInterface.ismutable(prob.u0) verbose && @warn "`alias_u0` has been set to `true`, but `u0` is \ diff --git a/lib/NonlinearSolveBase/src/solve.jl b/lib/NonlinearSolveBase/src/solve.jl index 13ec75fde..d65539224 100644 --- a/lib/NonlinearSolveBase/src/solve.jl +++ b/lib/NonlinearSolveBase/src/solve.jl @@ -59,10 +59,10 @@ function solve(prob::AbstractNonlinearProblem, args...; sensealg = nothing, elseif haskey(prob.kwargs, :alias) && prob.kwargs[:alias] isa Bool NonlinearAliasSpecifier(alias = prob.kwargs[:alias]) elseif haskey(kwargs, :alias_u0) - @warn lazy"The `alias_u0` keyword argument is deprecated. Please use a NonlinearAliasSpecifier, e.g. `alias = NonlinearAliasSpecifier(alias_u0 = true)`." + @warn "The `alias_u0` keyword argument is deprecated. Please use a NonlinearAliasSpecifier, e.g. `alias = NonlinearAliasSpecifier(alias_u0 = true)`." NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) elseif haskey(prob.kwargs, :alias_u0) - @warn lazy"The `alias_u0` keyword argument is deprecated. Please use a NonlinearAliasSpecifier, e.g. `alias = NonlinearAliasSpecifier(alias_u0 = true)`." + @warn "The `alias_u0` keyword argument is deprecated. Please use a NonlinearAliasSpecifier, e.g. `alias = NonlinearAliasSpecifier(alias_u0 = true)`." NonlinearAliasSpecifier(alias_u0 = prob.kwargs[:alias_u0]) else NonlinearAliasSpecifier(alias_u0 = false) diff --git a/lib/NonlinearSolveFirstOrder/src/solve.jl b/lib/NonlinearSolveFirstOrder/src/solve.jl index b6fd6102d..56cfeaa5e 100644 --- a/lib/NonlinearSolveFirstOrder/src/solve.jl +++ b/lib/NonlinearSolveFirstOrder/src/solve.jl @@ -132,6 +132,9 @@ function SciMLBase.__init( termination_condition = nothing, internalnorm::IN = L2_NORM, linsolve_kwargs = (;), initializealg = NonlinearSolveBase.NonlinearSolveDefaultInit(), kwargs... ) where {IN} + if haskey(kwargs, :alias_u0) + alias = NonlinearSolveBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 @set! alg.autodiff = NonlinearSolveBase.select_jacobian_autodiff(prob, alg.autodiff) provided_jvp_autodiff = alg.jvp_autodiff !== nothing diff --git a/lib/NonlinearSolveQuasiNewton/src/solve.jl b/lib/NonlinearSolveQuasiNewton/src/solve.jl index 8bdfd0046..ccc078235 100644 --- a/lib/NonlinearSolveQuasiNewton/src/solve.jl +++ b/lib/NonlinearSolveQuasiNewton/src/solve.jl @@ -151,6 +151,9 @@ function SciMLBase.__init( internalnorm::F = L2_NORM, initializealg = NonlinearSolveBase.NonlinearSolveDefaultInit(), kwargs... ) where {F} + if haskey(kwargs, :alias_u0) + alias = NonlinearSolveBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 timer = get_timer_output() @static_timeit timer "cache construction" begin diff --git a/lib/NonlinearSolveSpectralMethods/src/solve.jl b/lib/NonlinearSolveSpectralMethods/src/solve.jl index a7c8d77ab..7e5fb24fd 100644 --- a/lib/NonlinearSolveSpectralMethods/src/solve.jl +++ b/lib/NonlinearSolveSpectralMethods/src/solve.jl @@ -126,6 +126,9 @@ function SciMLBase.__init( abstol = nothing, reltol = nothing, termination_condition = nothing, maxtime = nothing, initializealg = NonlinearSolveBase.NonlinearSolveDefaultInit(), kwargs... ) + if haskey(kwargs, :alias_u0) + alias = NonlinearSolveBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 timer = get_timer_output() diff --git a/lib/SimpleNonlinearSolve/src/dfsane.jl b/lib/SimpleNonlinearSolve/src/dfsane.jl index 8f6fd1cf2..e0d33f6c7 100644 --- a/lib/SimpleNonlinearSolve/src/dfsane.jl +++ b/lib/SimpleNonlinearSolve/src/dfsane.jl @@ -68,6 +68,9 @@ function SciMLBase.__solve( abstol = nothing, reltol = nothing, maxiters = 1000, alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) + if haskey(kwargs, :alias_u0) + alias = NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 x = NLBUtils.maybe_unaliased(prob.u0, alias_u0) fx = NLBUtils.evaluate_f(prob, x) diff --git a/lib/SimpleNonlinearSolve/src/halley.jl b/lib/SimpleNonlinearSolve/src/halley.jl index 8881b9d1b..baa9848a1 100644 --- a/lib/SimpleNonlinearSolve/src/halley.jl +++ b/lib/SimpleNonlinearSolve/src/halley.jl @@ -33,6 +33,9 @@ function SciMLBase.__solve( abstol = nothing, reltol = nothing, maxiters = 1000, alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) + if haskey(kwargs, :alias_u0) + alias = NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 autodiff = alg.autodiff x = NLBUtils.maybe_unaliased(prob.u0, alias_u0) diff --git a/lib/SimpleNonlinearSolve/src/lbroyden.jl b/lib/SimpleNonlinearSolve/src/lbroyden.jl index 6fd94eba7..d36dc41db 100644 --- a/lib/SimpleNonlinearSolve/src/lbroyden.jl +++ b/lib/SimpleNonlinearSolve/src/lbroyden.jl @@ -57,6 +57,9 @@ end args...; abstol = nothing, reltol = nothing, maxiters = 1000, alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) + if haskey(kwargs, :alias_u0) + alias = NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 x = NLBUtils.maybe_unaliased(prob.u0, alias_u0) η = min(NLBUtils.unwrap_val(alg.threshold), maxiters) diff --git a/lib/SimpleNonlinearSolve/src/raphson.jl b/lib/SimpleNonlinearSolve/src/raphson.jl index 3306e85f7..a131549dc 100644 --- a/lib/SimpleNonlinearSolve/src/raphson.jl +++ b/lib/SimpleNonlinearSolve/src/raphson.jl @@ -37,6 +37,9 @@ function SciMLBase.__solve( abstol = nothing, reltol = nothing, maxiters = 1000, alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) + if haskey(kwargs, :alias_u0) + alias = NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 autodiff = alg.autodiff x = NLBUtils.maybe_unaliased(prob.u0, alias_u0) diff --git a/lib/SimpleNonlinearSolve/src/trust_region.jl b/lib/SimpleNonlinearSolve/src/trust_region.jl index 932857efe..74b253bc2 100644 --- a/lib/SimpleNonlinearSolve/src/trust_region.jl +++ b/lib/SimpleNonlinearSolve/src/trust_region.jl @@ -63,6 +63,9 @@ function SciMLBase.__solve( abstol = nothing, reltol = nothing, maxiters = 1000, alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) + if haskey(kwargs, :alias_u0) + alias = NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + end alias_u0 = alias.alias_u0 x = NLBUtils.maybe_unaliased(prob.u0, alias_u0) T = eltype(x) From 4c8ca7614467948684907653a176edb9df3a3fed Mon Sep 17 00:00:00 2001 From: jClugstor Date: Wed, 29 Oct 2025 13:18:04 -0400 Subject: [PATCH 3/4] fix aqua issues --- lib/NonlinearSolveFirstOrder/src/solve.jl | 4 ++-- lib/NonlinearSolveQuasiNewton/src/solve.jl | 4 ++-- lib/NonlinearSolveSpectralMethods/src/solve.jl | 4 ++-- lib/SimpleNonlinearSolve/src/dfsane.jl | 4 ++-- lib/SimpleNonlinearSolve/src/halley.jl | 4 ++-- lib/SimpleNonlinearSolve/src/lbroyden.jl | 4 ++-- lib/SimpleNonlinearSolve/src/raphson.jl | 4 ++-- lib/SimpleNonlinearSolve/src/trust_region.jl | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lib/NonlinearSolveFirstOrder/src/solve.jl b/lib/NonlinearSolveFirstOrder/src/solve.jl index 56cfeaa5e..8ecdffb47 100644 --- a/lib/NonlinearSolveFirstOrder/src/solve.jl +++ b/lib/NonlinearSolveFirstOrder/src/solve.jl @@ -127,13 +127,13 @@ NonlinearSolveBase.@internal_caches(GeneralizedFirstOrderAlgorithmCache, function SciMLBase.__init( prob::AbstractNonlinearProblem, alg::GeneralizedFirstOrderAlgorithm, args...; - stats = NLStats(0, 0, 0, 0, 0), alias = NonlinearSolveBase.NonlinearAliasSpecifier(alias_u0 = false), maxiters = 1000, + stats = NLStats(0, 0, 0, 0, 0), alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), maxiters = 1000, abstol = nothing, reltol = nothing, maxtime = nothing, termination_condition = nothing, internalnorm::IN = L2_NORM, linsolve_kwargs = (;), initializealg = NonlinearSolveBase.NonlinearSolveDefaultInit(), kwargs... ) where {IN} if haskey(kwargs, :alias_u0) - alias = NonlinearSolveBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) end alias_u0 = alias.alias_u0 @set! alg.autodiff = NonlinearSolveBase.select_jacobian_autodiff(prob, alg.autodiff) diff --git a/lib/NonlinearSolveQuasiNewton/src/solve.jl b/lib/NonlinearSolveQuasiNewton/src/solve.jl index ccc078235..9cb5cec6f 100644 --- a/lib/NonlinearSolveQuasiNewton/src/solve.jl +++ b/lib/NonlinearSolveQuasiNewton/src/solve.jl @@ -145,14 +145,14 @@ NonlinearSolveBase.@internal_caches(QuasiNewtonCache, function SciMLBase.__init( prob::AbstractNonlinearProblem, alg::QuasiNewtonAlgorithm, args...; - stats = NLStats(0, 0, 0, 0, 0), alias = NonlinearSolveBase.NonlinearAliasSpecifier(alias_u0 = false), maxtime = nothing, + stats = NLStats(0, 0, 0, 0, 0), alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), maxtime = nothing, maxiters = 1000, abstol = nothing, reltol = nothing, linsolve_kwargs = (;), termination_condition = nothing, internalnorm::F = L2_NORM, initializealg = NonlinearSolveBase.NonlinearSolveDefaultInit(), kwargs... ) where {F} if haskey(kwargs, :alias_u0) - alias = NonlinearSolveBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) end alias_u0 = alias.alias_u0 timer = get_timer_output() diff --git a/lib/NonlinearSolveSpectralMethods/src/solve.jl b/lib/NonlinearSolveSpectralMethods/src/solve.jl index 7e5fb24fd..211b1014d 100644 --- a/lib/NonlinearSolveSpectralMethods/src/solve.jl +++ b/lib/NonlinearSolveSpectralMethods/src/solve.jl @@ -122,12 +122,12 @@ NonlinearSolveBase.@internal_caches GeneralizedDFSaneCache :linesearch_cache function SciMLBase.__init( prob::AbstractNonlinearProblem, alg::GeneralizedDFSane, args...; - stats = NLStats(0, 0, 0, 0, 0), alias = NonlinearSolveBase.NonlinearAliasSpecifier(alias_u0 = false), maxiters = 1000, + stats = NLStats(0, 0, 0, 0, 0), alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), maxiters = 1000, abstol = nothing, reltol = nothing, termination_condition = nothing, maxtime = nothing, initializealg = NonlinearSolveBase.NonlinearSolveDefaultInit(), kwargs... ) if haskey(kwargs, :alias_u0) - alias = NonlinearSolveBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) end alias_u0 = alias.alias_u0 timer = get_timer_output() diff --git a/lib/SimpleNonlinearSolve/src/dfsane.jl b/lib/SimpleNonlinearSolve/src/dfsane.jl index e0d33f6c7..66a596a62 100644 --- a/lib/SimpleNonlinearSolve/src/dfsane.jl +++ b/lib/SimpleNonlinearSolve/src/dfsane.jl @@ -65,11 +65,11 @@ end function SciMLBase.__solve( prob::ImmutableNonlinearProblem, alg::SimpleDFSane, args...; - abstol = nothing, reltol = nothing, maxiters = 1000, alias = NonlinearAliasSpecifier(alias_u0 = false), + abstol = nothing, reltol = nothing, maxiters = 1000, alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) if haskey(kwargs, :alias_u0) - alias = NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) end alias_u0 = alias.alias_u0 x = NLBUtils.maybe_unaliased(prob.u0, alias_u0) diff --git a/lib/SimpleNonlinearSolve/src/halley.jl b/lib/SimpleNonlinearSolve/src/halley.jl index baa9848a1..6efd28e58 100644 --- a/lib/SimpleNonlinearSolve/src/halley.jl +++ b/lib/SimpleNonlinearSolve/src/halley.jl @@ -31,10 +31,10 @@ end function SciMLBase.__solve( prob::ImmutableNonlinearProblem, alg::SimpleHalley, args...; abstol = nothing, reltol = nothing, maxiters = 1000, - alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) if haskey(kwargs, :alias_u0) - alias = NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) end alias_u0 = alias.alias_u0 autodiff = alg.autodiff diff --git a/lib/SimpleNonlinearSolve/src/lbroyden.jl b/lib/SimpleNonlinearSolve/src/lbroyden.jl index d36dc41db..ac1b1f083 100644 --- a/lib/SimpleNonlinearSolve/src/lbroyden.jl +++ b/lib/SimpleNonlinearSolve/src/lbroyden.jl @@ -55,10 +55,10 @@ end @views function internal_generic_solve( prob::ImmutableNonlinearProblem, alg::SimpleLimitedMemoryBroyden, args...; abstol = nothing, reltol = nothing, maxiters = 1000, - alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) if haskey(kwargs, :alias_u0) - alias = NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) end alias_u0 = alias.alias_u0 x = NLBUtils.maybe_unaliased(prob.u0, alias_u0) diff --git a/lib/SimpleNonlinearSolve/src/raphson.jl b/lib/SimpleNonlinearSolve/src/raphson.jl index a131549dc..f40da122d 100644 --- a/lib/SimpleNonlinearSolve/src/raphson.jl +++ b/lib/SimpleNonlinearSolve/src/raphson.jl @@ -35,10 +35,10 @@ function SciMLBase.__solve( prob::Union{ImmutableNonlinearProblem, NonlinearLeastSquaresProblem}, alg::SimpleNewtonRaphson, args...; abstol = nothing, reltol = nothing, maxiters = 1000, - alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) if haskey(kwargs, :alias_u0) - alias = NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) end alias_u0 = alias.alias_u0 autodiff = alg.autodiff diff --git a/lib/SimpleNonlinearSolve/src/trust_region.jl b/lib/SimpleNonlinearSolve/src/trust_region.jl index 74b253bc2..262ef0e63 100644 --- a/lib/SimpleNonlinearSolve/src/trust_region.jl +++ b/lib/SimpleNonlinearSolve/src/trust_region.jl @@ -61,10 +61,10 @@ function SciMLBase.__solve( prob::Union{ImmutableNonlinearProblem, NonlinearLeastSquaresProblem}, alg::SimpleTrustRegion, args...; abstol = nothing, reltol = nothing, maxiters = 1000, - alias = NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = false), termination_condition = nothing, kwargs... ) if haskey(kwargs, :alias_u0) - alias = NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) + alias = SciMLBase.NonlinearAliasSpecifier(alias_u0 = kwargs[:alias_u0]) end alias_u0 = alias.alias_u0 x = NLBUtils.maybe_unaliased(prob.u0, alias_u0) From 324cf8a97b3b9f42754efe73ba83c0b11b1856ae Mon Sep 17 00:00:00 2001 From: jClugstor Date: Wed, 29 Oct 2025 13:37:28 -0400 Subject: [PATCH 4/4] remove stale import --- lib/SimpleNonlinearSolve/src/SimpleNonlinearSolve.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/SimpleNonlinearSolve/src/SimpleNonlinearSolve.jl b/lib/SimpleNonlinearSolve/src/SimpleNonlinearSolve.jl index 915693ee8..490b0acaf 100644 --- a/lib/SimpleNonlinearSolve/src/SimpleNonlinearSolve.jl +++ b/lib/SimpleNonlinearSolve/src/SimpleNonlinearSolve.jl @@ -14,8 +14,7 @@ using NonlinearSolveBase: NonlinearSolveBase, ImmutableNonlinearProblem, L2_NORM nonlinearsolve_forwarddiff_solve, nonlinearsolve_dual_solution, AbstractNonlinearSolveAlgorithm using SciMLBase: SciMLBase, NonlinearFunction, NonlinearProblem, - NonlinearLeastSquaresProblem, ReturnCode, remake, NonlinearAliasSpecifier - + NonlinearLeastSquaresProblem, ReturnCode, remake using LinearAlgebra: LinearAlgebra, dot using StaticArraysCore: StaticArray, SArray, SVector, MArray