From 5dfb525decf247849f00e4aae76d09a170b4d4f6 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 76edb3033..065b329ee 100644 --- a/lib/NonlinearSolveBase/src/polyalg.jl +++ b/lib/NonlinearSolveBase/src/polyalg.jl @@ -119,9 +119,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 = NonlinearVerbosity(), + internalnorm::IN = L2_NORM, alias = NonlinearAliasSpecifier(alias_u0 = false), verbose = NonlinearVerbosity(), initializealg = NonlinearSolveDefaultInit(), kwargs... ) where {IN} + alias_u0 = alias.alias_u0 if alias_u0 && !ArrayInterface.ismutable(prob.u0) @SciMLMessage("`alias_u0` has been set to `true`, but `u0` is immutable (checked using `ArrayInterface.ismutable``).", verbose, :alias_u0_immutable) @@ -147,7 +148,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 7632171f8..c0c79c8f8 100644 --- a/lib/NonlinearSolveBase/src/solve.jl +++ b/lib/NonlinearSolveBase/src/solve.jl @@ -62,30 +62,24 @@ function solve(prob::AbstractNonlinearProblem, args...; sensealg = nothing, verbose = NonlinearVerbosity(verbose) 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 @@ -95,7 +89,7 @@ function solve(prob::AbstractNonlinearProblem, args...; sensealg = nothing, u0, p, args...; - alias_u0 = alias_u0, + alias = alias_spec, originator = SciMLBase.ChainRulesOriginator(), verbose, kwargs...)) @@ -105,7 +99,7 @@ function solve(prob::AbstractNonlinearProblem, args...; sensealg = nothing, u0, p, args...; - alias_u0 = alias_u0, + alias = alias_spec, originator = SciMLBase.ChainRulesOriginator(), verbose, kwargs...) @@ -184,6 +178,24 @@ 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 + if verbose isa Bool # @warn "Using `true` or `false` for `verbose` is being deprecated. Please use a `NonlinearVerbosity` type to specify verbosity settings. # For details see the verbosity section of the common solver options documentation page." @@ -199,7 +211,7 @@ function init( u0 = u0 !== nothing ? u0 : prob.u0 p = p !== nothing ? p : prob.p - init_up(prob, sensealg, u0, p, args...; verbose, kwargs...) + init_up(prob, sensealg, u0, p, args...; alias = alias_spec, verbose, kwargs...) end function init_up(prob::AbstractNonlinearProblem, @@ -401,7 +413,7 @@ end @generated function __generated_polysolve( prob::AbstractNonlinearProblem, alg::NonlinearSolvePolyAlgorithm{Val{N}}, args...; - stats = NLStats(0, 0, 0, 0, 0), alias_u0 = false, verbose = NonlinearVerbosity(), + stats = NLStats(0, 0, 0, 0, 0), alias = NonlinearAliasSpecifier(alias_u0 = false), verbose = NonlinearVerbosity(), initializealg = NonlinearSolveDefaultInit(), kwargs... ) where {N} @@ -419,6 +431,7 @@ end 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) @SciMLMessage("`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 e577da907..ebc786cac 100644 --- a/lib/NonlinearSolveFirstOrder/src/solve.jl +++ b/lib/NonlinearSolveFirstOrder/src/solve.jl @@ -129,11 +129,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, verbose = NonlinearVerbosity(), 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 7585f537e..7d8d96217 100644 --- a/lib/NonlinearSolveQuasiNewton/src/solve.jl +++ b/lib/NonlinearSolveQuasiNewton/src/solve.jl @@ -147,13 +147,14 @@ 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(), verbose = NonlinearVerbosity(), kwargs... ) where {F} + 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 04dc2d661..2da2b52ef 100644 --- a/lib/NonlinearSolveSpectralMethods/src/solve.jl +++ b/lib/NonlinearSolveSpectralMethods/src/solve.jl @@ -124,11 +124,12 @@ 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, verbose = NonlinearVerbosity(), 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 0cc71cdb6..94327c1bb 100644 --- a/lib/SimpleNonlinearSolve/src/SimpleNonlinearSolve.jl +++ b/lib/SimpleNonlinearSolve/src/SimpleNonlinearSolve.jl @@ -15,7 +15,7 @@ using NonlinearSolveBase: NonlinearSolveBase, ImmutableNonlinearProblem, L2_NORM AbstractNonlinearSolveAlgorithm, NonlinearVerbosity, @SciMLMessage, AbstractVerbosityPreset 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 85a884ede..4723b51e5 100644 --- a/lib/SimpleNonlinearSolve/src/lbroyden.jl +++ b/lib/SimpleNonlinearSolve/src/lbroyden.jl @@ -66,8 +66,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 793935790b9fe08e5f669961ef3f2c14c2b6f29f 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 065b329ee..a4f631b92 100644 --- a/lib/NonlinearSolveBase/src/polyalg.jl +++ b/lib/NonlinearSolveBase/src/polyalg.jl @@ -122,6 +122,9 @@ function SciMLBase.__init( internalnorm::IN = L2_NORM, alias = NonlinearAliasSpecifier(alias_u0 = false), verbose = NonlinearVerbosity(), 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) @SciMLMessage("`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 c0c79c8f8..36e8a602f 100644 --- a/lib/NonlinearSolveBase/src/solve.jl +++ b/lib/NonlinearSolveBase/src/solve.jl @@ -71,10 +71,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 ebc786cac..99a638212 100644 --- a/lib/NonlinearSolveFirstOrder/src/solve.jl +++ b/lib/NonlinearSolveFirstOrder/src/solve.jl @@ -134,6 +134,9 @@ function SciMLBase.__init( termination_condition = nothing, internalnorm::IN = L2_NORM, verbose = NonlinearVerbosity(), 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 7d8d96217..dfc925d6c 100644 --- a/lib/NonlinearSolveQuasiNewton/src/solve.jl +++ b/lib/NonlinearSolveQuasiNewton/src/solve.jl @@ -154,6 +154,9 @@ function SciMLBase.__init( verbose = NonlinearVerbosity(), 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 2da2b52ef..8db0c768b 100644 --- a/lib/NonlinearSolveSpectralMethods/src/solve.jl +++ b/lib/NonlinearSolveSpectralMethods/src/solve.jl @@ -129,6 +129,9 @@ function SciMLBase.__init( maxtime = nothing, verbose = NonlinearVerbosity(), 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 4723b51e5..4999b329a 100644 --- a/lib/SimpleNonlinearSolve/src/lbroyden.jl +++ b/lib/SimpleNonlinearSolve/src/lbroyden.jl @@ -68,6 +68,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 86b9603c1468db84f8412ef5c3ab8738f6607a2e 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 99a638212..7b7267aac 100644 --- a/lib/NonlinearSolveFirstOrder/src/solve.jl +++ b/lib/NonlinearSolveFirstOrder/src/solve.jl @@ -129,13 +129,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, verbose = NonlinearVerbosity(), 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 dfc925d6c..dfc4c6283 100644 --- a/lib/NonlinearSolveQuasiNewton/src/solve.jl +++ b/lib/NonlinearSolveQuasiNewton/src/solve.jl @@ -147,7 +147,7 @@ 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(), @@ -155,7 +155,7 @@ function SciMLBase.__init( 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 8db0c768b..9c9b18e06 100644 --- a/lib/NonlinearSolveSpectralMethods/src/solve.jl +++ b/lib/NonlinearSolveSpectralMethods/src/solve.jl @@ -124,13 +124,13 @@ 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, verbose = NonlinearVerbosity(), 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 4999b329a..1e4a03d4d 100644 --- a/lib/SimpleNonlinearSolve/src/lbroyden.jl +++ b/lib/SimpleNonlinearSolve/src/lbroyden.jl @@ -66,10 +66,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 575702921362fe8ce685113df0bbb3c897694bcb 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 94327c1bb..6f486b42a 100644 --- a/lib/SimpleNonlinearSolve/src/SimpleNonlinearSolve.jl +++ b/lib/SimpleNonlinearSolve/src/SimpleNonlinearSolve.jl @@ -15,8 +15,7 @@ using NonlinearSolveBase: NonlinearSolveBase, ImmutableNonlinearProblem, L2_NORM AbstractNonlinearSolveAlgorithm, NonlinearVerbosity, @SciMLMessage, AbstractVerbosityPreset using SciMLBase: SciMLBase, NonlinearFunction, NonlinearProblem, - NonlinearLeastSquaresProblem, ReturnCode, remake, NonlinearAliasSpecifier - + NonlinearLeastSquaresProblem, ReturnCode, remake using LinearAlgebra: LinearAlgebra, dot using StaticArraysCore: StaticArray, SArray, SVector, MArray