@@ -8,22 +8,23 @@ import Reexport: @reexport
88import PrecompileTools: @recompile_invalidations , @compile_workload , @setup_workload
99
1010@recompile_invalidations begin
11- using ADTypes, ConcreteStructs, DiffEqBase, FastBroadcast, FastClosures, LazyArrays ,
12- LineSearches, LinearAlgebra, LinearSolve, MaybeInplace, Preferences, Printf ,
13- SciMLBase, SimpleNonlinearSolve, SparseArrays, SparseDiffTools
11+ using Accessors, ADTypes, ConcreteStructs, DiffEqBase, FastBroadcast, FastClosures,
12+ LazyArrays, LineSearches, LinearAlgebra, LinearSolve, MaybeInplace, Preferences,
13+ Printf, SciMLBase, SimpleNonlinearSolve, SparseArrays, SparseDiffTools
1414
1515 import ArrayInterface: undefmatrix, can_setindex, restructure, fast_scalar_indexing
1616 import DiffEqBase: AbstractNonlinearTerminationMode,
17- AbstractSafeNonlinearTerminationMode, AbstractSafeBestNonlinearTerminationMode,
18- NonlinearSafeTerminationReturnCode, get_termination_mode
17+ AbstractSafeNonlinearTerminationMode,
18+ AbstractSafeBestNonlinearTerminationMode,
19+ NonlinearSafeTerminationReturnCode, get_termination_mode
1920 import FiniteDiff
2021 import ForwardDiff
2122 import ForwardDiff: Dual
2223 import LinearSolve: ComposePreconditioner, InvPreconditioner, needs_concrete_A
2324 import RecursiveArrayTools: recursivecopy!, recursivefill!
2425
2526 import SciMLBase: AbstractNonlinearAlgorithm, JacobianWrapper, AbstractNonlinearProblem,
26- AbstractSciMLOperator, NLStats, _unwrap_val, has_jac, isinplace
27+ AbstractSciMLOperator, NLStats, _unwrap_val, has_jac, isinplace
2728 import SparseDiffTools: AbstractSparsityDetection, AutoSparseEnzyme
2829 import StaticArraysCore: StaticArray, SVector, SArray, MArray, Size, SMatrix, MMatrix
2930end
@@ -98,20 +99,28 @@ include("default.jl")
9899 probs_nlls = NonlinearLeastSquaresProblem[]
99100 nlfuncs = ((NonlinearFunction {false} ((u, p) -> (u .^ 2 .- p)[1 : 1 ]), [0.1 , 0.0 ]),
100101 (NonlinearFunction {false} ((u, p) -> vcat (u .* u .- p, u .* u .- p)), [0.1 , 0.1 ]),
101- (NonlinearFunction {true} ((du, u, p) -> du[1 ] = u[1 ] * u[1 ] - p,
102- resid_prototype = zeros (1 )), [0.1 , 0.0 ]),
103- (NonlinearFunction {true} ((du, u, p) -> du .= vcat (u .* u .- p, u .* u .- p),
104- resid_prototype = zeros (4 )), [0.1 , 0.1 ]))
102+ (
103+ NonlinearFunction {true} ((du, u, p) -> du[1 ] = u[1 ] * u[1 ] - p,
104+ resid_prototype = zeros (1 )),
105+ [0.1 , 0.0 ]),
106+ (
107+ NonlinearFunction {true} ((du, u, p) -> du .= vcat (u .* u .- p, u .* u .- p),
108+ resid_prototype = zeros (4 )),
109+ [0.1 , 0.1 ]))
105110 for (fn, u0) in nlfuncs
106111 push! (probs_nlls, NonlinearLeastSquaresProblem (fn, u0, 2.0 ))
107112 end
108113 nlfuncs = ((NonlinearFunction {false} ((u, p) -> (u .^ 2 .- p)[1 : 1 ]), Float32[0.1 , 0.0 ]),
109114 (NonlinearFunction {false} ((u, p) -> vcat (u .* u .- p, u .* u .- p)),
110115 Float32[0.1 , 0.1 ]),
111- (NonlinearFunction {true} ((du, u, p) -> du[1 ] = u[1 ] * u[1 ] - p,
112- resid_prototype = zeros (Float32, 1 )), Float32[0.1 , 0.0 ]),
113- (NonlinearFunction {true} ((du, u, p) -> du .= vcat (u .* u .- p, u .* u .- p),
114- resid_prototype = zeros (Float32, 4 )), Float32[0.1 , 0.1 ]))
116+ (
117+ NonlinearFunction {true} ((du, u, p) -> du[1 ] = u[1 ] * u[1 ] - p,
118+ resid_prototype = zeros (Float32, 1 )),
119+ Float32[0.1 , 0.0 ]),
120+ (
121+ NonlinearFunction {true} ((du, u, p) -> du .= vcat (u .* u .- p, u .* u .- p),
122+ resid_prototype = zeros (Float32, 4 )),
123+ Float32[0.1 , 0.1 ]))
115124 for (fn, u0) in nlfuncs
116125 push! (probs_nlls, NonlinearLeastSquaresProblem (fn, u0, 2.0f0 ))
117126 end
@@ -133,21 +142,21 @@ end
133142
134143# Core Algorithms
135144export NewtonRaphson, PseudoTransient, Klement, Broyden, LimitedMemoryBroyden, DFSane,
136- MultiStepNonlinearSolver
145+ MultiStepNonlinearSolver
137146export GaussNewton, LevenbergMarquardt, TrustRegion
138147export NonlinearSolvePolyAlgorithm,
139- RobustMultiNewton, FastShortcutNonlinearPolyalg, FastShortcutNLLSPolyalg
148+ RobustMultiNewton, FastShortcutNonlinearPolyalg, FastShortcutNLLSPolyalg
140149
141150# Extension Algorithms
142151export LeastSquaresOptimJL, FastLevenbergMarquardtJL, CMINPACK, NLsolveJL,
143- FixedPointAccelerationJL, SpeedMappingJL, SIAMFANLEquationsJL
152+ FixedPointAccelerationJL, SpeedMappingJL, SIAMFANLEquationsJL
144153
145154# Advanced Algorithms -- Without Bells and Whistles
146155export GeneralizedFirstOrderAlgorithm, ApproximateJacobianSolveAlgorithm, GeneralizedDFSane
147156
148157# Descent Algorithms
149158export NewtonDescent, SteepestDescent, Dogleg, DampedNewtonDescent,
150- GeodesicAcceleration, GenericMultiStepDescent
159+ GeodesicAcceleration, GenericMultiStepDescent
151160# # Multistep Algorithms
152161export MultiStepSchemes
153162
@@ -159,9 +168,9 @@ export RadiusUpdateSchemes
159168
160169# Export the termination conditions from DiffEqBase
161170export SteadyStateDiffEqTerminationMode, SimpleNonlinearSolveTerminationMode,
162- NormTerminationMode, RelTerminationMode, RelNormTerminationMode, AbsTerminationMode,
163- AbsNormTerminationMode, RelSafeTerminationMode, AbsSafeTerminationMode,
164- RelSafeBestTerminationMode, AbsSafeBestTerminationMode
171+ NormTerminationMode, RelTerminationMode, RelNormTerminationMode, AbsTerminationMode,
172+ AbsNormTerminationMode, RelSafeTerminationMode, AbsSafeTerminationMode,
173+ RelSafeBestTerminationMode, AbsSafeBestTerminationMode
165174
166175# Tracing Functionality
167176export TraceAll, TraceMinimal, TraceWithJacobianConditionNumber
0 commit comments