1
1
module NonlinearSolve
2
2
3
- if isdefined (Base, :Experimental ) && isdefined (Base. Experimental, Symbol (" @max_methods" ))
4
- @eval Base. Experimental. @max_methods 1
5
- end
6
-
7
3
using Reexport: @reexport
8
4
using PrecompileTools: @compile_workload , @setup_workload
9
5
@@ -23,7 +19,7 @@ using LinearAlgebra: LinearAlgebra, ColumnNorm, Diagonal, I, LowerTriangular, Sy
23
19
UpperTriangular, axpy!, cond, diag, diagind, dot, issuccess, istril,
24
20
istriu, lu, mul!, norm, pinv, tril!, triu!
25
21
using LineSearch: LineSearch, AbstractLineSearchAlgorithm, AbstractLineSearchCache,
26
- NoLineSearch, RobustNonMonotoneLineSearch, BackTracking
22
+ NoLineSearch, RobustNonMonotoneLineSearch, BackTracking, LineSearchesJL
27
23
using LinearSolve: LinearSolve, LUFactorization, QRFactorization,
28
24
needs_concrete_A, AbstractFactorization,
29
25
DefaultAlgorithmChoice, DefaultLinearSolver
@@ -34,7 +30,6 @@ using RecursiveArrayTools: recursivecopy!
34
30
using SciMLBase: AbstractNonlinearAlgorithm, AbstractNonlinearProblem, _unwrap_val,
35
31
isinplace, NLStats
36
32
using SciMLOperators: AbstractSciMLOperator
37
- using Setfield: @set!
38
33
using StaticArraysCore: StaticArray, SVector, SArray, MArray, Size, SMatrix
39
34
using SymbolicIndexingInterface: SymbolicIndexingInterface, ParameterIndexingProxy,
40
35
symbolic_container, parameter_values, state_values, getu,
@@ -44,8 +39,6 @@ using SymbolicIndexingInterface: SymbolicIndexingInterface, ParameterIndexingPro
44
39
using ADTypes: ADTypes, AbstractADType, AutoFiniteDiff, AutoForwardDiff,
45
40
AutoPolyesterForwardDiff, AutoZygote, AutoEnzyme, AutoSparse,
46
41
NoSparsityDetector, KnownJacobianSparsityDetector
47
- using ADTypes: AutoSparseFiniteDiff, AutoSparseForwardDiff, AutoSparsePolyesterForwardDiff,
48
- AutoSparseZygote # FIXME : deprecated, remove in future
49
42
using DifferentiationInterface: DifferentiationInterface, Constant
50
43
using FiniteDiff: FiniteDiff
51
44
using ForwardDiff: ForwardDiff, Dual
@@ -114,11 +107,20 @@ include("default.jl")
114
107
push! (probs_nls, NonlinearProblem (fn, u0, 2.0 ))
115
108
end
116
109
117
- nls_algs = (NewtonRaphson (), TrustRegion (), LevenbergMarquardt (),
118
- PseudoTransient (), Broyden (), Klement (), DFSane (), nothing )
110
+ nls_algs = (
111
+ NewtonRaphson (),
112
+ TrustRegion (),
113
+ LevenbergMarquardt (),
114
+ # PseudoTransient(),
115
+ Broyden (),
116
+ Klement (),
117
+ # DFSane(),
118
+ nothing
119
+ )
119
120
120
121
probs_nlls = NonlinearLeastSquaresProblem[]
121
- nlfuncs = ((NonlinearFunction {false} ((u, p) -> (u .^ 2 .- p)[1 : 1 ]), [0.1 , 0.0 ]),
122
+ nlfuncs = (
123
+ (NonlinearFunction {false} ((u, p) -> (u .^ 2 .- p)[1 : 1 ]), [0.1 , 0.0 ]),
122
124
(NonlinearFunction {false} ((u, p) -> vcat (u .* u .- p, u .* u .- p)), [0.1 , 0.1 ]),
123
125
(
124
126
NonlinearFunction {true} (
@@ -127,15 +129,22 @@ include("default.jl")
127
129
(
128
130
NonlinearFunction {true} ((du, u, p) -> du .= vcat (u .* u .- p, u .* u .- p),
129
131
resid_prototype = zeros (4 )),
130
- [0.1 , 0.1 ]))
132
+ [0.1 , 0.1 ]
133
+ )
134
+ )
131
135
for (fn, u0) in nlfuncs
132
136
push! (probs_nlls, NonlinearLeastSquaresProblem (fn, u0, 2.0 ))
133
137
end
134
138
135
- nlls_algs = (LevenbergMarquardt (), GaussNewton (), TrustRegion (),
136
- LevenbergMarquardt (; linsolve = LUFactorization ()),
137
- GaussNewton (; linsolve = LUFactorization ()),
138
- TrustRegion (; linsolve = LUFactorization ()), nothing )
139
+ nlls_algs = (
140
+ LevenbergMarquardt (),
141
+ GaussNewton (),
142
+ TrustRegion (),
143
+ # LevenbergMarquardt(; linsolve = LUFactorization()),
144
+ # GaussNewton(; linsolve = LUFactorization()),
145
+ # TrustRegion(; linsolve = LUFactorization()),
146
+ nothing
147
+ )
139
148
140
149
@compile_workload begin
141
150
@sync begin
@@ -177,7 +186,7 @@ export LineSearch, BackTracking, NoLineSearch, RobustNonMonotoneLineSearch, Line
177
186
# # Trust Region Algorithms
178
187
export RadiusUpdateSchemes
179
188
180
- # Export the termination conditions from DiffEqBase
189
+ # Export the termination conditions from NonlinearSolveBase
181
190
export SteadyStateDiffEqTerminationMode, SimpleNonlinearSolveTerminationMode,
182
191
NormTerminationMode, RelTerminationMode, RelNormTerminationMode, AbsTerminationMode,
183
192
AbsNormTerminationMode, RelSafeTerminationMode, AbsSafeTerminationMode,
@@ -189,8 +198,5 @@ export TraceAll, TraceMinimal, TraceWithJacobianConditionNumber
189
198
# Reexport ADTypes
190
199
export AutoFiniteDiff, AutoForwardDiff, AutoPolyesterForwardDiff, AutoZygote, AutoEnzyme,
191
200
AutoSparse
192
- # FIXME : deprecated, remove in future
193
- export AutoSparseFiniteDiff, AutoSparseForwardDiff, AutoSparsePolyesterForwardDiff,
194
- AutoSparseZygote
195
201
196
- end # module
202
+ end
0 commit comments