Skip to content

Commit 81d9765

Browse files
committed
docs: update all documentation
1 parent eb67c22 commit 81d9765

File tree

22 files changed

+112
-87
lines changed

22 files changed

+112
-87
lines changed

.github/workflows/Documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
Pkg.Registry.update()
2323
# Install packages present in subdirectories
2424
dev_pks = Pkg.PackageSpec[]
25-
for path in ("lib/SciMLJacobianOperators", ".", "lib/SimpleNonlinearSolve", "lib/NonlinearSolveBase", "lib/BracketingNonlinearSolve")
25+
for path in ("lib/SciMLJacobianOperators", ".", "lib/SimpleNonlinearSolve", "lib/NonlinearSolveBase", "lib/BracketingNonlinearSolve", "lib/NonlinearSolveFirstOrder", "lib/NonlinearSolveQuasiNewton", "lib/NonlinearSolveSpectralMethods")
2626
push!(dev_pks, Pkg.PackageSpec(; path))
2727
end
2828
Pkg.develop(dev_pks)

docs/Project.toml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
1414
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
1515
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
1616
NonlinearSolveBase = "be0214bd-f91f-a760-ac4e-3421ce2b2da0"
17+
NonlinearSolveFirstOrder = "5959db7a-ea39-4486-b5fe-2dd0bf03d60d"
18+
NonlinearSolveQuasiNewton = "9a2c21bd-3a47-402d-9113-8faf9a0ee114"
19+
NonlinearSolveSpectralMethods = "26075421-4e9a-44e1-8bd1-420ed7ad02b2"
1720
OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a"
1821
PETSc = "ace2c81b-2b5f-4b1e-a30d-d662738edfe0"
1922
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
@@ -42,8 +45,11 @@ InteractiveUtils = "<0.0.1, 1"
4245
LinearSolve = "2"
4346
NonlinearSolve = "4"
4447
NonlinearSolveBase = "1"
48+
NonlinearSolveFirstOrder = "1"
49+
NonlinearSolveQuasiNewton = "1"
50+
NonlinearSolveSpectralMethods = "1"
4551
OrdinaryDiffEqTsit5 = "1.1.0"
46-
PETSc = "0.2"
52+
PETSc = "0.3"
4753
Plots = "1"
4854
Random = "1.10"
4955
SciMLBase = "2.4"

docs/make.jl

Lines changed: 34 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,23 @@
11
using Documenter, DocumenterCitations, DocumenterInterLinks
2-
using NonlinearSolve, SimpleNonlinearSolve, Sundials, SteadyStateDiffEq, SciMLBase,
3-
BracketingNonlinearSolve, NonlinearSolveBase
4-
using SciMLJacobianOperators
52
import DiffEqBase
63

7-
cp(joinpath(@__DIR__, "Manifest.toml"),
8-
joinpath(@__DIR__, "src/assets/Manifest.toml"), force = true)
9-
cp(joinpath(@__DIR__, "Project.toml"),
10-
joinpath(@__DIR__, "src/assets/Project.toml"), force = true)
4+
using Sundials
5+
using NonlinearSolveBase, SciMLBase, DiffEqBase
6+
using SimpleNonlinearSolve, BracketingNonlinearSolve
7+
using NonlinearSolveFirstOrder, NonlinearSolveQuasiNewton, NonlinearSolveSpectralMethods
8+
using SciMLJacobianOperators
9+
using NonlinearSolve, SteadyStateDiffEq
10+
11+
cp(
12+
joinpath(@__DIR__, "Manifest.toml"),
13+
joinpath(@__DIR__, "src/assets/Manifest.toml");
14+
force = true
15+
)
16+
cp(
17+
joinpath(@__DIR__, "Project.toml"),
18+
joinpath(@__DIR__, "src/assets/Project.toml");
19+
force = true
20+
)
1121

1222
include("pages.jl")
1323

@@ -20,20 +30,29 @@ interlinks = InterLinks(
2030

2131
makedocs(;
2232
sitename = "NonlinearSolve.jl",
23-
authors = "Chris Rackauckas",
24-
modules = [NonlinearSolve, SimpleNonlinearSolve, SteadyStateDiffEq, DiffEqBase,
25-
Sundials, NonlinearSolveBase, SciMLBase, SciMLJacobianOperators,
26-
BracketingNonlinearSolve],
33+
authors = "SciML",
34+
modules = [
35+
NonlinearSolveBase, SciMLBase, DiffEqBase,
36+
SimpleNonlinearSolve, BracketingNonlinearSolve,
37+
NonlinearSolveFirstOrder, NonlinearSolveQuasiNewton, NonlinearSolveSpectralMethods,
38+
Sundials,
39+
SciMLJacobianOperators,
40+
NonlinearSolve, SteadyStateDiffEq
41+
],
2742
clean = true,
2843
doctest = false,
2944
linkcheck = true,
30-
linkcheck_ignore = ["https://twitter.com/ChrisRackauckas/status/1544743542094020615",
31-
"https://link.springer.com/article/10.1007/s40096-020-00339-4"],
45+
linkcheck_ignore = [
46+
"https://twitter.com/ChrisRackauckas/status/1544743542094020615",
47+
"https://link.springer.com/article/10.1007/s40096-020-00339-4"
48+
],
3249
checkdocs = :exports,
3350
warnonly = [:missing_docs],
3451
plugins = [bib, interlinks],
35-
format = Documenter.HTML(assets = ["assets/favicon.ico", "assets/citations.css"],
36-
canonical = "https://docs.sciml.ai/NonlinearSolve/stable/"),
52+
format = Documenter.HTML(
53+
assets = ["assets/favicon.ico", "assets/citations.css"],
54+
canonical = "https://docs.sciml.ai/NonlinearSolve/stable/"
55+
),
3756
pages
3857
)
3958

docs/src/basics/autodiff.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
!!! note
44

55
We support all backends supported by DifferentiationInterface.jl. Please refer to
6-
the [backends page](https://gdalle.github.io/DifferentiationInterface.jl/DifferentiationInterface/stable/explanation/backends/)
6+
the [backends page](https://juliadiff.org/DifferentiationInterface.jl/DifferentiationInterface/stable/explanation/backends/)
77
for more information.
88

99
## Summary of Finite Differencing Backends

docs/src/basics/faq.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ It is hard to say why your code is not fast. Take a look at the
102102
there is type instability.
103103

104104
If you are using the defaults for the autodiff and your problem is not a scalar or using
105-
static arrays, ForwardDiff will create type unstable code. See this simple example:
105+
static arrays, ForwardDiff will create type unstable code and lead to dynamic dispatch
106+
internally. See this simple example:
106107

107108
```@example type_unstable
108109
using NonlinearSolve, InteractiveUtils
@@ -136,14 +137,17 @@ prob = NonlinearProblem(f, [1.0, 2.0], 2.0)
136137
nothing # hide
137138
```
138139

139-
Oh no! This is type unstable. This is because ForwardDiff.jl will chunk the jacobian
140-
computation and the type of this chunksize can't be statically inferred. To fix this, we
141-
directly specify the chunksize:
140+
Ah it is still type stable. But internally since the chunksize is not statically inferred,
141+
it will be dynamic and lead to dynamic dispatch. To fix this, we directly specify the
142+
chunksize:
142143

143144
```@example type_unstable
144-
@code_warntype solve(prob,
145+
@code_warntype solve(
146+
prob,
145147
NewtonRaphson(;
146-
autodiff = AutoForwardDiff(; chunksize = NonlinearSolve.pickchunksize(prob.u0))))
148+
autodiff = AutoForwardDiff(; chunksize = NonlinearSolve.pickchunksize(prob.u0))
149+
)
150+
)
147151
nothing # hide
148152
```
149153

docs/src/devdocs/algorithm_helpers.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,63 +3,63 @@
33
## Pseudo Transient Method
44

55
```@docs
6-
NonlinearSolve.SwitchedEvolutionRelaxation
7-
NonlinearSolve.SwitchedEvolutionRelaxationCache
6+
NonlinearSolveFirstOrder.SwitchedEvolutionRelaxation
7+
NonlinearSolveFirstOrder.SwitchedEvolutionRelaxationCache
88
```
99

1010
## Approximate Jacobian Methods
1111

1212
### Initialization
1313

1414
```@docs
15-
NonlinearSolve.IdentityInitialization
16-
NonlinearSolve.TrueJacobianInitialization
17-
NonlinearSolve.BroydenLowRankInitialization
15+
NonlinearSolveQuasiNewton.IdentityInitialization
16+
NonlinearSolveQuasiNewton.TrueJacobianInitialization
17+
NonlinearSolveQuasiNewton.BroydenLowRankInitialization
1818
```
1919

2020
### Jacobian Structure
2121

2222
```@docs
23-
NonlinearSolve.FullStructure
24-
NonlinearSolve.DiagonalStructure
23+
NonlinearSolveQuasiNewton.FullStructure
24+
NonlinearSolveQuasiNewton.DiagonalStructure
2525
```
2626

2727
### Jacobian Caches
2828

2929
```@docs
30-
NonlinearSolve.InitializedApproximateJacobianCache
30+
NonlinearSolveQuasiNewton.InitializedApproximateJacobianCache
3131
```
3232

3333
### Reset Methods
3434

3535
```@docs
36-
NonlinearSolve.NoChangeInStateReset
37-
NonlinearSolve.IllConditionedJacobianReset
36+
NonlinearSolveQuasiNewton.NoChangeInStateReset
37+
NonlinearSolveQuasiNewton.IllConditionedJacobianReset
3838
```
3939

4040
### Update Rules
4141

4242
```@docs
43-
NonlinearSolve.GoodBroydenUpdateRule
44-
NonlinearSolve.BadBroydenUpdateRule
45-
NonlinearSolve.KlementUpdateRule
43+
NonlinearSolveQuasiNewton.GoodBroydenUpdateRule
44+
NonlinearSolveQuasiNewton.BadBroydenUpdateRule
45+
NonlinearSolveQuasiNewton.KlementUpdateRule
4646
```
4747

4848
## Levenberg Marquardt Method
4949

5050
```@docs
51-
NonlinearSolve.LevenbergMarquardtTrustRegion
51+
NonlinearSolveFirstOrder.LevenbergMarquardtTrustRegion
5252
```
5353

5454
## Trust Region Method
5555

5656
```@docs
57-
NonlinearSolve.GenericTrustRegionScheme
57+
NonlinearSolveFirstOrder.GenericTrustRegionScheme
5858
```
5959

6060
## Miscellaneous
6161

6262
```@docs
63-
NonlinearSolve.callback_into_cache!
64-
NonlinearSolve.concrete_jac
63+
NonlinearSolveBase.callback_into_cache!
64+
NonlinearSolveBase.concrete_jac
6565
```

docs/src/devdocs/internal_interfaces.md

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,50 +3,43 @@
33
## Solvers
44

55
```@docs
6-
NonlinearSolve.AbstractNonlinearSolveAlgorithm
7-
NonlinearSolve.AbstractNonlinearSolveExtensionAlgorithm
8-
NonlinearSolve.AbstractNonlinearSolveCache
6+
NonlinearSolveBase.AbstractNonlinearSolveAlgorithm
7+
NonlinearSolveBase.AbstractNonlinearSolveCache
98
```
109

11-
## Descent Algorithms
10+
## Descent Directions
1211

1312
```@docs
14-
NonlinearSolve.AbstractDescentAlgorithm
15-
NonlinearSolve.AbstractDescentCache
13+
NonlinearSolveBase.AbstractDescentDirection
14+
NonlinearSolveBase.AbstractDescentCache
1615
```
1716

18-
## Descent Results
17+
### Descent Results
1918

2019
```@docs
21-
NonlinearSolve.DescentResult
20+
NonlinearSolveBase.DescentResult
2221
```
2322

2423
## Approximate Jacobian
2524

2625
```@docs
27-
NonlinearSolve.AbstractApproximateJacobianStructure
28-
NonlinearSolve.AbstractJacobianInitialization
29-
NonlinearSolve.AbstractApproximateJacobianUpdateRule
30-
NonlinearSolve.AbstractApproximateJacobianUpdateRuleCache
31-
NonlinearSolve.AbstractResetCondition
26+
NonlinearSolveBase.AbstractApproximateJacobianStructure
27+
NonlinearSolveBase.AbstractJacobianInitialization
28+
NonlinearSolveBase.AbstractApproximateJacobianUpdateRule
29+
NonlinearSolveBase.AbstractApproximateJacobianUpdateRuleCache
30+
NonlinearSolveBase.AbstractResetCondition
3231
```
3332

3433
## Damping Algorithms
3534

3635
```@docs
37-
NonlinearSolve.AbstractDampingFunction
38-
NonlinearSolve.AbstractDampingFunctionCache
36+
NonlinearSolveBase.AbstractDampingFunction
37+
NonlinearSolveBase.AbstractDampingFunctionCache
3938
```
4039

4140
## Trust Region
4241

4342
```@docs
44-
NonlinearSolve.AbstractTrustRegionMethod
45-
NonlinearSolve.AbstractTrustRegionMethodCache
46-
```
47-
48-
## Tracing
49-
50-
```@docs
51-
NonlinearSolve.AbstractNonlinearSolveTraceLevel
43+
NonlinearSolveBase.AbstractTrustRegionMethod
44+
NonlinearSolveBase.AbstractTrustRegionMethodCache
5245
```

docs/src/devdocs/jacobian.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# Jacobian Wrappers
22

33
```@docs
4-
NonlinearSolve.AbstractNonlinearSolveJacobianCache
5-
NonlinearSolve.JacobianCache
4+
NonlinearSolveBase.construct_jacobian_cache
65
```

docs/src/devdocs/linear_solve.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Linear Solve
22

33
```@docs
4-
NonlinearSolve.AbstractLinearSolverCache
5-
NonlinearSolve.LinearSolverCache
4+
NonlinearSolveBase.AbstractLinearSolverCache
5+
NonlinearSolveBase.construct_linear_solver
66
```

docs/src/devdocs/operators.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
## Low-Rank Jacobian Operators
44

55
```@docs
6-
NonlinearSolve.BroydenLowRankJacobian
6+
NonlinearSolveQuasiNewton.BroydenLowRankJacobian
77
```

docs/src/native/diagnostics.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
These functions are not exported since the names have a potential for conflict.
66

77
```@docs
8-
NonlinearSolve.enable_timer_outputs
9-
NonlinearSolve.disable_timer_outputs
10-
NonlinearSolve.@static_timeit
8+
NonlinearSolveBase.enable_timer_outputs
9+
NonlinearSolveBase.disable_timer_outputs
10+
NonlinearSolveBase.@static_timeit
1111
```
1212

1313
## Tracing API
@@ -17,6 +17,3 @@ TraceAll
1717
TraceWithJacobianConditionNumber
1818
TraceMinimal
1919
```
20-
21-
For details about the arguments refer to the documentation of
22-
[`NonlinearSolve.AbstractNonlinearSolveTraceLevel`](@ref).

docs/src/native/solvers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ All of the previously mentioned solvers are wrappers around the following solver
8181
are meant for advanced users and allow building custom solvers.
8282

8383
```@docs
84-
ApproximateJacobianSolveAlgorithm
84+
QuasiNewtonAlgorithm
8585
GeneralizedFirstOrderAlgorithm
8686
GeneralizedDFSane
8787
```

lib/NonlinearSolveBase/src/abstract_types.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,7 @@ Define custom operations on `internalcache` tightly coupled with the calling `ca
542542
`args...` contain the sequence of caches calling into `internalcache`.
543543
544544
This unfortunately makes code very tightly coupled and not modular. It is recommended to not
545-
use this functionality unless it can't be avoided (like in [`LevenbergMarquardt`](@ref)).
545+
use this functionality unless it can't be avoided (like in `LevenbergMarquardt`).
546546
"""
547547
callback_into_cache!(cache, internalcache, args...) = nothing # By default do nothing
548548

lib/NonlinearSolveBase/src/descent/geodesic_acceleration.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Uses the `descent` algorithm to compute the velocity and acceleration terms for
55
geodesic acceleration method. The velocity and acceleration terms are then combined to
66
compute the descent direction.
77
8-
This method in its current form was developed for [`LevenbergMarquardt`](@ref). Performance
8+
This method in its current form was developed for `LevenbergMarquardt`. Performance
99
for other methods are not theorectically or experimentally verified.
1010
1111
### Keyword Arguments

lib/NonlinearSolveBase/src/timer_outputs.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ end
1818
@static_timeit to name expr
1919
2020
Like `TimerOutputs.@timeit_debug` but has zero overhead if `TimerOutputs` is disabled via
21-
[`NonlinearSolve.disable_timer_outputs()`](@ref).
21+
[`NonlinearSolveBase.disable_timer_outputs()`](@ref).
2222
"""
2323
macro static_timeit(to, name, expr)
2424
@static if TIMER_OUTPUTS_ENABLED

lib/NonlinearSolveFirstOrder/src/levenberg_marquardt.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ nonlinear systems.
3030
should not be disabled.
3131
3232
For the remaining arguments, see [`GeodesicAcceleration`](@ref) and
33-
[`NonlinearSolve.LevenbergMarquardtTrustRegion`](@ref) documentations.
33+
[`NonlinearSolveFirstOrder.LevenbergMarquardtTrustRegion`](@ref) documentations.
3434
"""
3535
function LevenbergMarquardt(;
3636
linsolve = nothing, precs = nothing,

lib/NonlinearSolveFirstOrder/src/solve.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ order of convergence.
1515
### Keyword Arguments
1616
1717
- `trustregion`: Globalization using a Trust Region Method. This needs to follow the
18-
[`NonlinearSolve.AbstractTrustRegionMethod`](@ref) interface.
18+
[`NonlinearSolveBase.AbstractTrustRegionMethod`](@ref) interface.
1919
- `descent`: The descent method to use to compute the step. This needs to follow the
20-
[`NonlinearSolve.AbstractDescentAlgorithm`](@ref) interface.
20+
[`NonlinearSolveBase.AbstractDescentDirection`](@ref) interface.
2121
- `max_shrink_times`: The maximum number of times the trust region radius can be shrunk
2222
before the algorithm terminates.
2323
"""

0 commit comments

Comments
 (0)