Skip to content

Commit 75c0fb6

Browse files
committed
Export wrappers over LineSearches
1 parent 52b3832 commit 75c0fb6

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "NonlinearSolve"
22
uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
33
authors = ["SciML"]
4-
version = "3.7.3"
4+
version = "3.8.0"
55

66
[deps]
77
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"

src/NonlinearSolve.jl

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import PrecompileTools: @recompile_invalidations, @compile_workload, @setup_work
99

1010
@recompile_invalidations begin
1111
using ADTypes, ConcreteStructs, DiffEqBase, FastBroadcast, FastClosures, LazyArrays,
12-
LineSearches, LinearAlgebra, LinearSolve, MaybeInplace, Preferences, Printf,
13-
SciMLBase, SimpleNonlinearSolve, SparseArrays, SparseDiffTools
12+
LinearAlgebra, LinearSolve, MaybeInplace, Preferences, Printf, SciMLBase,
13+
SimpleNonlinearSolve, SparseArrays, SparseDiffTools
1414

1515
import ArrayInterface: undefmatrix, can_setindex, restructure, fast_scalar_indexing
1616
import DiffEqBase: AbstractNonlinearTerminationMode,
@@ -20,6 +20,7 @@ import PrecompileTools: @recompile_invalidations, @compile_workload, @setup_work
2020
import FiniteDiff
2121
import ForwardDiff
2222
import ForwardDiff: Dual
23+
import LineSearches
2324
import LinearSolve: ComposePreconditioner, InvPreconditioner, needs_concrete_A
2425
import RecursiveArrayTools: recursivecopy!, recursivefill!
2526

@@ -29,7 +30,7 @@ import PrecompileTools: @recompile_invalidations, @compile_workload, @setup_work
2930
import StaticArraysCore: StaticArray, SVector, SArray, MArray, Size, SMatrix, MMatrix
3031
end
3132

32-
@reexport using ADTypes, LineSearches, SciMLBase, SimpleNonlinearSolve
33+
@reexport using ADTypes, SciMLBase, SimpleNonlinearSolve
3334

3435
const AbstractSparseADType = Union{ADTypes.AbstractSparseFiniteDifferences,
3536
ADTypes.AbstractSparseForwardMode, ADTypes.AbstractSparseReverseMode}
@@ -157,6 +158,7 @@ export NewtonDescent, SteepestDescent, Dogleg, DampedNewtonDescent, GeodesicAcce
157158
# Globalization
158159
## Line Search Algorithms
159160
export LineSearchesJL, NoLineSearch, RobustNonMonotoneLineSearch, LiFukushimaLineSearch
161+
export Static, HagerZhang, MoreThuente, StrongWolfe, BackTracking
160162
## Trust Region Algorithms
161163
export RadiusUpdateSchemes
162164

src/globalization/line_search.jl

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ end
5353

5454
LineSearchesJL(method; kwargs...) = LineSearchesJL(; method, kwargs...)
5555
function LineSearchesJL(; method = LineSearches.Static(), autodiff = nothing, α = true)
56+
if method isa LineSearchesJL # Prevent breaking old code
57+
return LineSearchesJL(method.method, α, autodiff)
58+
end
59+
5660
if method isa AbstractNonlinearSolveLineSearchAlgorithm
5761
Base.depwarn("Passing a native NonlinearSolve line search algorithm to \
5862
`LineSearchesJL` or `LineSearch` is deprecated. Pass the method \
@@ -65,6 +69,18 @@ end
6569

6670
Base.@deprecate_binding LineSearch LineSearchesJL true
6771

72+
Static(args...; kwargs...) = LineSearchesJL(LineSearches.Static(args...; kwargs...))
73+
HagerZhang(args...; kwargs...) = LineSearchesJL(LineSearches.HagerZhang(args...; kwargs...))
74+
function MoreThuente(args...; kwargs...)
75+
return LineSearchesJL(LineSearches.MoreThuente(args...; kwargs...))
76+
end
77+
function BackTracking(args...; kwargs...)
78+
return LineSearchesJL(LineSearches.BackTracking(args...; kwargs...))
79+
end
80+
function StrongWolfe(args...; kwargs...)
81+
return LineSearchesJL(LineSearches.StrongWolfe(args...; kwargs...))
82+
end
83+
6884
# Wrapper over LineSearches.jl algorithms
6985
@concrete mutable struct LineSearchesJLCache <: AbstractNonlinearSolveLineSearchCache
7086
f

0 commit comments

Comments
 (0)