Skip to content

Commit de7c303

Browse files
Setup extended API pages
1 parent 12c0186 commit de7c303

13 files changed

+200
-155
lines changed

docs/Project.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,20 @@
22
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
33
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
44
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
5+
NonlinearSolveMINPACK = "c100e077-885d-495a-a2ea-599e143bf69d"
6+
SciMLNLSolve = "e9a6253c-8580-4d32-9898-8661bb511710"
7+
SimpleNonlinearSolve = "727e6d20-b764-4bd8-a329-72de5adea6c7"
58
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
9+
SteadyStateDiffEq = "9672c7b4-1e72-59bd-8a11-6ac3964bc41f"
10+
Sundials = "c3572dad-4567-51f8-b174-8c6c989267f4"
611

712
[compat]
813
BenchmarkTools = "1"
914
Documenter = "0.27"
1015
NonlinearSolve = "1"
16+
NonlinearSolveMINPACK = "0.1"
17+
SciMLNLSolve = "0.1"
18+
SimpleNonlinearSolve = "0.1"
1119
StaticArrays = "1"
20+
SteadyStateDiffEq = "1.10"
21+
Sundials = "4.11"

docs/make.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using Documenter, NonlinearSolve
1+
using Documenter, NonlinearSolve, SimpleNonlinearSolve, Sundials, SciMLNLSolve,
2+
NonlinearSolveMINPACK, SteadyStateDiffEq
23

34
cp("./docs/Manifest.toml", "./docs/src/assets/Manifest.toml", force = true)
45
cp("./docs/Project.toml", "./docs/src/assets/Project.toml", force = true)
@@ -7,7 +8,8 @@ include("pages.jl")
78

89
makedocs(sitename = "NonlinearSolve.jl",
910
authors = "Chris Rackauckas",
10-
modules = [NonlinearSolve, NonlinearSolve.SciMLBase],
11+
modules = [NonlinearSolve, NonlinearSolve.SciMLBase, SimpleNonlinearSolve,
12+
Sundials, SciMLNLSolve, NonlinearSolveMINPACK, SteadyStateDiffEq],
1113
clean = true, doctest = false,
1214
strict = [
1315
:doctest,

docs/pages.jl

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,16 @@ pages = ["index.md",
77
"basics/NonlinearFunctions.md",
88
"basics/NonlinearSolution.md",
99
"basics/FAQ.md"],
10-
"Solvers" => Any["solvers/NonlinearSystemSolvers.md",
10+
"Solver Summaries and Recommendations" => Any[
11+
"solvers/NonlinearSystemSolvers.md",
1112
"solvers/BracketingSolvers.md",
1213
"solvers/SteadyStateSolvers.md"],
14+
"Detailed Solver APIs" => Any[
15+
"nonlinearsolve.md",
16+
"simplenonlinearsolve.md",
17+
"minpack.md",
18+
"nlsolve.md",
19+
"sundials.md",
20+
"steadystatediffeq.md"
21+
]
1322
]

docs/src/api/minpack.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# MINPACK.jl
2+
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:
6+
7+
```julia
8+
]add NonlinearSolveMINPACK
9+
using NonlinearSolveMINPACK
10+
```
11+
12+
These methods can be used independently of the rest of NonlinearSolve.jl
13+
14+
## Solver API
15+
16+
```@docs
17+
CMINPACK
18+
```

docs/src/api/nlsolve.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# NLsolve.jl
2+
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:
6+
7+
```julia
8+
]add SciMLNLSolve
9+
using SciMLNLSolve
10+
```
11+
12+
## Solver API
13+
14+
```@docs
15+
NLsolveJL
16+
```

docs/src/api/nonlinearsolve.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# NonlinearSolve.jl Native Solvers
2+
3+
These are the native solvers of NonlinearSolve.jl.
4+
5+
## Solver API
6+
7+
```@docs
8+
NewtonRaphson
9+
```

docs/src/api/simplenonlinearsolve.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# SimpleNonlinearSolve.jl
2+
3+
These methods can be used independently of the rest of NonlinearSolve.jl
4+
5+
## Solver API
6+
7+
```@docs
8+
Bisection
9+
Falsi
10+
SimpleNewtonRaphson
11+
```

docs/src/api/steadystatediffeq.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# SteadyStateDiffEq.jl
2+
3+
This is a wrapper package for using ODE solvers from
4+
[DifferentialEquations.jl](https://docs.sciml.ai/DiffEqDocs/stable/) into the SciML interface.
5+
Note that these solvers do not come by default, and thus one needs to install
6+
the package before using these solvers:
7+
8+
```julia
9+
]add SteadyStateDiffEq
10+
using SteadyStateDiffEq
11+
```
12+
13+
These methods can be used independently of the rest of NonlinearSolve.jl
14+
15+
## Solver API
16+
17+
```@docs
18+
DynamicSS
19+
```

docs/src/api/sundials.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
## Sundials.jl
2+
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:
6+
7+
```julia
8+
]add Sundials
9+
using Sundials
10+
```
11+
12+
These methods can be used independently of the rest of NonlinearSolve.jl
13+
14+
## Solver API
15+
16+
```@docs
17+
KINSOL
18+
```

docs/src/index.md

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ ability to use sparse automatic differentiation for Jacobian construction and
77
Jacobian-vector products. It interfaces with other packages of the Julia ecosystem
88
to make it easy to test alternative solver packages and pass small types to
99
control algorithm swapping. It also interfaces with the
10-
[ModelingToolkit.jl](https://docs.sciml.ai/ModelingToolkit/stable/) world of symbolic modeling to
11-
allow for automatically generating high-performance code.
10+
[ModelingToolkit.jl](https://docs.sciml.ai/ModelingToolkit/stable/) world of symbolic
11+
modeling to allow for automatically generating high-performance code.
1212

1313
Performance is key: the current methods are made to be highly performant on
1414
scalar and statically sized small problems, with options for large-scale systems.
@@ -39,14 +39,8 @@ Pkg.add("NonlinearSolve")
3939
- On the [Julia Discourse forums](https://discourse.julialang.org)
4040
- See also [SciML Community page](https://sciml.ai/community/)
4141

42-
## Roadmap
43-
44-
The current algorithms should support automatic differentiation, though improved
45-
adjoint overloads are planned to be added in the current update (which will make
46-
use of the `f(u,p)` form). Future updates will include standard methods for
47-
larger scale nonlinear solving like Newton-Krylov methods.
48-
4942
## Reproducibility
43+
5044
```@raw html
5145
<details><summary>The documentation of this SciML package was built using these direct dependencies,</summary>
5246
```

0 commit comments

Comments
 (0)