Skip to content

Commit dad316c

Browse files
committed
Detailed development docs
1 parent eef3665 commit dad316c

22 files changed

+644
-44
lines changed

Manifest.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
julia_version = "1.10.0"
44
manifest_format = "2.0"
5-
project_hash = "2ecb05140fa52842af7b288b7753b90c53bb9e3c"
5+
project_hash = "f8ec89b048e63a09aa2dd683e874045fd757cebb"
66

77
[[deps.ADTypes]]
88
git-tree-sha1 = "41c37aa88889c171f1300ceac1313c06e891d245"

Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ NonlinearProblemLibrary = "0.1.2"
8181
OrdinaryDiffEq = "6.63"
8282
Pkg = "1"
8383
PrecompileTools = "1.2"
84+
Preferences = "1"
8485
Printf = "1"
8586
Random = "1.91"
8687
RecursiveArrayTools = "3.2"

docs/pages.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@ pages = ["index.md",
3535
"api/siamfanlequations.md",
3636
"api/speedmapping.md",
3737
"api/sundials.md"],
38-
"Development Documentation" => [],
38+
"Development Documentation" => ["devdocs/internal_interfaces.md",
39+
"devdocs/linear_solve.md",
40+
"devdocs/jacobian.md",
41+
"devdocs/operators.md",
42+
"devdocs/algorithm_helpers.md"],
3943
"Release Notes" => "release_notes.md",
4044
"References" => "references.md",
4145
]

docs/src/basics/nonlinear_solution.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@
44
SciMLBase.NonlinearSolution
55
```
66

7+
## Statistics
8+
9+
```@docs
10+
SciMLBase.NLStats
11+
NonlinearSolve.ImmutableNLStats
12+
```
13+
714
## Return Code
815

916
```@docs

docs/src/devdocs/algorithm_helpers.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Internal Algorithm Helpers
2+
3+
## Pseudo Transient Method
4+
5+
```@docs
6+
NonlinearSolve.SwitchedEvolutionRelaxation
7+
NonlinearSolve.SwitchedEvolutionRelaxationCache
8+
```
9+
10+
## Approximate Jacobian Methods
11+
12+
### Initialization
13+
14+
```@docs
15+
NonlinearSolve.IdentityInitialization
16+
NonlinearSolve.TrueJacobianInitialization
17+
NonlinearSolve.BroydenLowRankInitialization
18+
```
19+
20+
### Jacobian Structure
21+
22+
```@docs
23+
NonlinearSolve.FullStructure
24+
NonlinearSolve.DiagonalStructure
25+
```
26+
27+
### Jacobian Caches
28+
29+
```@docs
30+
NonlinearSolve.InitializedApproximateJacobianCache
31+
```
32+
33+
### Reset Methods
34+
35+
```@docs
36+
NonlinearSolve.NoChangeInStateReset
37+
NonlinearSolve.IllConditionedJacobianReset
38+
```
39+
40+
### Update Rules
41+
42+
```@docs
43+
NonlinearSolve.GoodBroydenUpdateRule
44+
NonlinearSolve.BadBroydenUpdateRule
45+
NonlinearSolve.KlementUpdateRule
46+
```
47+
48+
## Levenberg Marquardt Method
49+
50+
```@docs
51+
NonlinearSolve.LevenbergMarquardtTrustRegion
52+
```
53+
54+
## Trust Region Method
55+
56+
```@docs
57+
NonlinearSolve.GenericTrustRegionScheme
58+
```
59+
60+
## Miscelleneous
61+
62+
```@docs
63+
SimpleNonlinearSolve.__nextfloat_tdir
64+
SimpleNonlinearSolve.__prevfloat_tdir
65+
SimpleNonlinearSolve.__max_tdir
66+
NonlinearSolve.callback_into_cache!
67+
NonlinearSolve.concrete_jac
68+
```
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Internal Abstract Types
2+
3+
## Solvers
4+
5+
```@docs
6+
NonlinearSolve.AbstractNonlinearSolveAlgorithm
7+
NonlinearSolve.AbstractNonlinearSolveExtensionAlgorithm
8+
NonlinearSolve.AbstractNonlinearSolveCache
9+
```
10+
11+
## Descent Algorithms
12+
13+
```@docs
14+
NonlinearSolve.AbstractDescentAlgorithm
15+
NonlinearSolve.AbstractDescentCache
16+
```
17+
18+
## Approximate Jacobian
19+
20+
```@docs
21+
NonlinearSolve.AbstractApproximateJacobianStructure
22+
NonlinearSolve.AbstractJacobianInitialization
23+
NonlinearSolve.AbstractApproximateJacobianUpdateRule
24+
NonlinearSolve.AbstractApproximateJacobianUpdateRuleCache
25+
NonlinearSolve.AbstractResetCondition
26+
```
27+
28+
## Damping Algorithms
29+
30+
```@docs
31+
NonlinearSolve.AbstractDampingFunction
32+
NonlinearSolve.AbstractDampingFunctionCache
33+
```
34+
35+
## Line Search
36+
37+
```@docs
38+
NonlinearSolve.AbstractNonlinearSolveLineSearchAlgorithm
39+
NonlinearSolve.AbstractNonlinearSolveLineSearchCache
40+
```
41+
42+
## Trust Region
43+
44+
```@docs
45+
NonlinearSolve.AbstractTrustRegionMethod
46+
NonlinearSolve.AbstractTrustRegionMethodCache
47+
```
48+
49+
## Tracing
50+
51+
```@docs
52+
NonlinearSolve.AbstractNonlinearSolveTraceLevel
53+
```

docs/src/devdocs/jacobian.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Jacobian Wrappers
2+
3+
```@docs
4+
NonlinearSolve.AbstractNonlinearSolveJacobianCache
5+
NonlinearSolve.JacobianCache
6+
```
7+
8+
## SimpleNonlinearSolve functions
9+
10+
```@docs
11+
SimpleNonlinearSolve.jacobian_cache
12+
SimpleNonlinearSolve.value_and_jacobian
13+
```

docs/src/devdocs/linear_solve.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Linear Solve
2+
3+
```@docs
4+
NonlinearSolve.AbstractLinearSolverCache
5+
NonlinearSolve.LinearSolverCache
6+
```

docs/src/devdocs/operators.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Custom SciML Operators
2+
3+
## Abstract Operators
4+
5+
```@docs
6+
NonlinearSolve.AbstractNonlinearSolveOperator
7+
```
8+
9+
## Jacobian Operators
10+
11+
```@docs
12+
NonlinearSolve.JacobianOperator
13+
NonlinearSolve.VecJacOperator
14+
NonlinearSolve.JacVecOperator
15+
```
16+
17+
### Stateful Jacobian Operators
18+
19+
```@docs
20+
NonlinearSolve.StatefulJacobianOperator
21+
NonlinearSolve.StatefulJacobianNormalFormOperator
22+
```
23+
24+
## Low-Rank Jacobian Operators
25+
26+
```@docs
27+
NonlinearSolve.BroydenLowRankJacobian
28+
```

docs/src/refs.bib

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,13 @@ @article{la2006spectral
9191
year = {2006}
9292
}
9393

94+
@article{lepage2021alternating,
95+
title = {Alternating cyclic extrapolation methods for optimization algorithms},
96+
author = {Lepage-Saucier, Nicolas},
97+
journal = {arXiv preprint arXiv:2104.04974},
98+
year = {2021}
99+
}
100+
94101
@article{li2000derivative,
95102
title = {A derivative-free line search and global convergence of Broyden-like method for nonlinear equations},
96103
author = {Li, Dong-Hui and Fukushima, Masao},

0 commit comments

Comments
 (0)