Skip to content

Commit 4e1638a

Browse files
Merge pull request #302 from avik-pal/ap/breaking
NonlinearSolve v3 Release
2 parents b853842 + 50cef59 commit 4e1638a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1341
-581
lines changed

Project.toml

Lines changed: 13 additions & 5 deletions
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 = "2.10.0"
4+
version = "3.0.0"
55

66
[deps]
77
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
@@ -33,12 +33,16 @@ UnPack = "3a884ed6-31ef-47d7-9d2a-63182c4928ed"
3333
BandedMatrices = "aae01518-5342-5314-be14-df237901396f"
3434
FastLevenbergMarquardt = "7a0df574-e128-4d35-8cbd-3d84502bf7ce"
3535
LeastSquaresOptim = "0fc2ff8b-aaa3-5acd-a817-1944a5e08891"
36+
MINPACK = "4854310b-de5a-5eb6-a2a5-c1dee2bd17f9"
37+
NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
3638
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
3739

3840
[extensions]
3941
NonlinearSolveBandedMatricesExt = "BandedMatrices"
4042
NonlinearSolveFastLevenbergMarquardtExt = "FastLevenbergMarquardt"
4143
NonlinearSolveLeastSquaresOptimExt = "LeastSquaresOptim"
44+
NonlinearSolveMINPACKExt = "MINPACK"
45+
NonlinearSolveNLsolveExt = "NLsolve"
4246
NonlinearSolveZygoteExt = "Zygote"
4347

4448
[compat]
@@ -60,19 +64,21 @@ LeastSquaresOptim = "0.8"
6064
LineSearches = "7"
6165
LinearAlgebra = "<0.0.1, 1"
6266
LinearSolve = "2.12"
67+
MINPACK = "1.2"
6368
MaybeInplace = "0.1"
69+
NLsolve = "4.5"
6470
NaNMath = "1"
6571
NonlinearProblemLibrary = "0.1"
6672
Pkg = "1"
6773
PrecompileTools = "1"
6874
Printf = "<0.0.1, 1"
69-
Random = "1"
75+
Random = "<0.0.1, 1"
7076
RecursiveArrayTools = "2"
7177
Reexport = "0.2, 1"
7278
SafeTestsets = "0.1"
7379
SciMLBase = "2.9"
7480
SciMLOperators = "0.3"
75-
SimpleNonlinearSolve = "0.1.23"
81+
SimpleNonlinearSolve = "1"
7682
SparseArrays = "<0.0.1, 1"
7783
SparseDiffTools = "2.14"
7884
StableRNGs = "1"
@@ -94,17 +100,19 @@ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
94100
LeastSquaresOptim = "0fc2ff8b-aaa3-5acd-a817-1944a5e08891"
95101
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
96102
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
103+
MINPACK = "4854310b-de5a-5eb6-a2a5-c1dee2bd17f9"
104+
NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
97105
NaNMath = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3"
98106
NonlinearProblemLibrary = "b7050fa9-e91f-4b37-bcee-a89a063da141"
99107
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
100108
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
101109
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
102-
StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3"
103110
SparseDiffTools = "47a9eef4-7e08-11e9-0b38-333d64bd3804"
111+
StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3"
104112
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
105113
Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
106114
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
107115
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
108116

109117
[targets]
110-
test = ["Aqua", "Enzyme", "BenchmarkTools", "SafeTestsets", "Pkg", "Test", "ForwardDiff", "StaticArrays", "Symbolics", "LinearSolve", "Random", "LinearAlgebra", "Zygote", "SparseDiffTools", "NonlinearProblemLibrary", "LeastSquaresOptim", "FastLevenbergMarquardt", "NaNMath", "BandedMatrices", "DiffEqBase", "StableRNGs"]
118+
test = ["Aqua", "Enzyme", "BenchmarkTools", "SafeTestsets", "Pkg", "Test", "ForwardDiff", "StaticArrays", "Symbolics", "LinearSolve", "Random", "LinearAlgebra", "Zygote", "SparseDiffTools", "NonlinearProblemLibrary", "LeastSquaresOptim", "FastLevenbergMarquardt", "NaNMath", "BandedMatrices", "DiffEqBase", "StableRNGs", "MINPACK", "NLsolve"]

docs/Project.toml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ IncompleteLU = "40713840-3770-5561-ab4c-a76e7d0d7895"
88
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
99
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
1010
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
11-
NonlinearSolveMINPACK = "c100e077-885d-495a-a2ea-599e143bf69d"
11+
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
12+
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
1213
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
13-
SciMLNLSolve = "e9a6253c-8580-4d32-9898-8661bb511710"
1414
SimpleNonlinearSolve = "727e6d20-b764-4bd8-a329-72de5adea6c7"
1515
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
1616
SteadyStateDiffEq = "9672c7b4-1e72-59bd-8a11-6ac3964bc41f"
@@ -26,12 +26,11 @@ Documenter = "1"
2626
IncompleteLU = "0.2"
2727
LinearSolve = "2"
2828
ModelingToolkit = "8"
29-
NonlinearSolve = "1, 2"
30-
NonlinearSolveMINPACK = "0.1"
29+
NonlinearSolve = "3"
30+
Random = "<0.0.1, 1"
3131
SciMLBase = "2.4"
32-
SciMLNLSolve = "0.1"
33-
SimpleNonlinearSolve = "0.1.5, 1"
32+
SimpleNonlinearSolve = "1"
3433
StaticArrays = "1"
35-
SteadyStateDiffEq = "1.10, 2"
34+
SteadyStateDiffEq = "2"
3635
Sundials = "4.11"
3736
Symbolics = "4, 5"

docs/make.jl

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
1-
using Documenter, NonlinearSolve, SimpleNonlinearSolve, Sundials, SciMLNLSolve,
2-
NonlinearSolveMINPACK, SteadyStateDiffEq, SciMLBase, DiffEqBase
1+
using Documenter,
2+
NonlinearSolve, SimpleNonlinearSolve, Sundials, SteadyStateDiffEq, SciMLBase, DiffEqBase
33

4-
cp("./docs/Manifest.toml", "./docs/src/assets/Manifest.toml", force = true)
5-
cp("./docs/Project.toml", "./docs/src/assets/Project.toml", force = true)
4+
cp(joinpath(@__DIR__, "Manifest.toml"), joinpath(@__DIR__, "src/assets/Manifest.toml"),
5+
force = true)
6+
cp(joinpath(@__DIR__, "Project.toml"), joinpath(@__DIR__, "src/assets/Project.toml"),
7+
force = true)
68

79
include("pages.jl")
810

9-
makedocs(sitename = "NonlinearSolve.jl",
11+
makedocs(; sitename = "NonlinearSolve.jl",
1012
authors = "Chris Rackauckas",
1113
modules = [NonlinearSolve, SciMLBase, DiffEqBase, SimpleNonlinearSolve, Sundials,
12-
SciMLNLSolve, NonlinearSolveMINPACK, SteadyStateDiffEq],
14+
SteadyStateDiffEq],
1315
clean = true, doctest = false, linkcheck = true,
1416
linkcheck_ignore = ["https://twitter.com/ChrisRackauckas/status/1544743542094020615"],
1517
warnonly = [:missing_docs, :cross_references],
1618
format = Documenter.HTML(assets = ["assets/favicon.ico"],
1719
canonical = "https://docs.sciml.ai/NonlinearSolve/stable/"),
18-
pages = pages)
20+
pages)
1921

20-
deploydocs(repo = "github.com/SciML/NonlinearSolve.jl.git";
21-
push_preview = true)
22+
deploydocs(repo = "github.com/SciML/NonlinearSolve.jl.git"; push_preview = true)

docs/pages.jl

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
pages = ["index.md",
44
"Getting Started with Nonlinear Rootfinding in Julia" => "tutorials/getting_started.md",
5-
"Tutorials" => Any["Code Optimization for Small Nonlinear Systems" => "tutorials/code_optimization.md",
6-
"Handling Large Ill-Conditioned and Sparse Systems" => "tutorials/large_systems.md",
7-
"Symbolic System Definition and Acceleration via ModelingToolkit" => "tutorials/modelingtoolkit.md",
5+
"Tutorials" => Any["tutorials/code_optimization.md",
6+
"tutorials/large_systems.md",
7+
"tutorials/modelingtoolkit.md",
88
"tutorials/small_compile.md",
99
"tutorials/iterator_interface.md"],
1010
"Basics" => Any["basics/NonlinearProblem.md",
@@ -24,5 +24,8 @@ pages = ["index.md",
2424
"api/minpack.md",
2525
"api/nlsolve.md",
2626
"api/sundials.md",
27-
"api/steadystatediffeq.md"],
27+
"api/steadystatediffeq.md",
28+
"api/leastsquaresoptim.md",
29+
"api/fastlevenbergmarquardt.md"],
30+
"Release Notes" => "release_notes.md",
2831
]
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# FastLevenbergMarquardt.jl
2+
3+
This is a extension for importing solvers from FastLevenbergMarquardt.jl into the SciML
4+
interface. Note that these solvers do not come by default, and thus one needs to install
5+
the package before using these solvers:
6+
7+
```julia
8+
using Pkg
9+
Pkg.add("FastLevenbergMarquardt")
10+
using FastLevenbergMarquardt, NonlinearSolve
11+
```
12+
13+
## Solver API
14+
15+
```@docs
16+
FastLevenbergMarquardtJL
17+
```

docs/src/api/leastsquaresoptim.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# LeastSquaresOptim.jl
2+
3+
This is a extension for importing solvers from LeastSquaresOptim.jl into the SciML
4+
interface. Note that these solvers do not come by default, and thus one needs to install
5+
the package before using these solvers:
6+
7+
```julia
8+
using Pkg
9+
Pkg.add("LeastSquaresOptim")
10+
using LeastSquaresOptim, NonlinearSolve
11+
```
12+
13+
## Solver API
14+
15+
```@docs
16+
LeastSquaresOptimJL
17+
```

docs/src/api/minpack.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
# MINPACK.jl
22

3-
This is a wrapper package for importing solvers from Sundials into the SciML interface.
4-
Note that these solvers do not come by default, and thus one needs to install
5-
the package before using these solvers:
3+
This is a extension for importing solvers from MINPACK into the SciML interface. Note that
4+
these solvers do not come by default, and thus one needs to install the package before using
5+
these solvers:
66

77
```julia
88
using Pkg
9-
Pkg.add("NonlinearSolveMINPACK")
10-
using NonlinearSolveMINPACK
9+
Pkg.add("MINPACK")
10+
using MINPACK, NonlinearSolve
1111
```
1212

13-
These methods can be used independently of the rest of NonlinearSolve.jl
14-
1513
## Solver API
1614

1715
```@docs

docs/src/api/nlsolve.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
# NLsolve.jl
22

3-
This is a wrapper package for importing solvers from NLsolve.jl into the SciML interface.
4-
Note that these solvers do not come by default, and thus one needs to install
5-
the package before using these solvers:
3+
This is a extension for importing solvers from NLsolve.jl into the SciML interface. Note
4+
that these solvers do not come by default, and thus one needs to install the package before
5+
using these solvers:
66

77
```julia
88
using Pkg
9-
Pkg.add("SciMLNLSolve")
10-
using SciMLNLSolve
9+
Pkg.add("NLsolve")
10+
using NLSolve, NonlinearSolve
1111
```
1212

1313
## Solver API
1414

1515
```@docs
16-
NLSolveJL
16+
NLsolveJL
1717
```

docs/src/api/nonlinearsolve.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ NewtonRaphson
99
TrustRegion
1010
PseudoTransient
1111
DFSane
12-
GeneralBroyden
13-
GeneralKlement
12+
Broyden
13+
Klement
1414
```
1515

1616
## Polyalgorithms

docs/src/api/simplenonlinearsolve.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ These methods can be used independently of the rest of NonlinearSolve.jl
66

77
### Interval Methods
88

9-
These methods are suited for interval (scalar) root-finding problems, i.e. `IntervalNonlinearProblem`.
9+
These methods are suited for interval (scalar) root-finding problems,
10+
i.e. `IntervalNonlinearProblem`.
1011

1112
```@docs
1213
ITP
@@ -18,14 +19,15 @@ Brent
1819

1920
### General Methods
2021

21-
These methods are suited for any general nonlinear root-finding problem , i.e. `NonlinearProblem`.
22+
These methods are suited for any general nonlinear root-finding problem, i.e.
23+
`NonlinearProblem`.
2224

2325
```@docs
2426
SimpleNewtonRaphson
25-
Broyden
27+
SimpleBroyden
2628
SimpleHalley
27-
Klement
29+
SimpleKlement
2830
SimpleTrustRegion
2931
SimpleDFSane
30-
LBroyden
32+
SimpleLimitedMemoryBroyden
3133
```

0 commit comments

Comments
 (0)