Skip to content

Commit 4de8491

Browse files
committed
docs: update all documentation
1 parent eb67c22 commit 4de8491

31 files changed

+134
-109
lines changed

.github/workflows/CI_NonlinearSolve.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ jobs:
3434
fail-fast: false
3535
matrix:
3636
group:
37-
- Core
38-
- Downstream
39-
- Wrappers
37+
- core
38+
- downstream
39+
- wrappers
4040
version:
4141
- "1.10"
4242
- "1"
@@ -92,9 +92,9 @@ jobs:
9292
version:
9393
- "1.10"
9494
group:
95-
- Core
96-
- Downstream
97-
- Wrappers
95+
- core
96+
- downstream
97+
- wrappers
9898
steps:
9999
- uses: actions/checkout@v4
100100
- uses: julia-actions/setup-julia@v2

.github/workflows/Documentation.yml

+1-1
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)

Project.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ BracketingNonlinearSolve = "1"
6767
CUDA = "5.5"
6868
CommonSolve = "0.2.4"
6969
ConcreteStructs = "0.2.3"
70-
DiffEqBase = "6.155.3"
70+
DiffEqBase = "6.158.3"
7171
DifferentiationInterface = "0.6.18"
7272
Enzyme = "0.13.11"
7373
ExplicitImports = "1.5"
@@ -102,7 +102,7 @@ Random = "1.10"
102102
ReTestItems = "1.24"
103103
Reexport = "1.2"
104104
SIAMFANLEquations = "1.0.1"
105-
SciMLBase = "2.54.0"
105+
SciMLBase = "2.58"
106106
SimpleNonlinearSolve = "2"
107107
SparseArrays = "1.10"
108108
SparseConnectivityTracer = "0.6.5"

docs/Project.toml

+9-3
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"
@@ -32,7 +35,7 @@ AlgebraicMultigrid = "0.5, 0.6"
3235
ArrayInterface = "6, 7"
3336
BenchmarkTools = "1"
3437
BracketingNonlinearSolve = "1"
35-
DiffEqBase = "6.158"
38+
DiffEqBase = "6.158.3"
3639
DifferentiationInterface = "0.6.16"
3740
Documenter = "1"
3841
DocumenterCitations = "1"
@@ -42,11 +45,14 @@ 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"
49-
SciMLBase = "2.4"
55+
SciMLBase = "2.58"
5056
SciMLJacobianOperators = "0.1"
5157
SimpleNonlinearSolve = "2"
5258
SparseConnectivityTracer = "0.6.5"

docs/make.jl

+34-15
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

+1-1
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

+10-6
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

+17-17
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

+16-23
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

+1-2
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

+2-2
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

+1-1
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

+3-6
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).

0 commit comments

Comments
 (0)