Skip to content

Commit f3a7ccc

Browse files
committed
docs: update documentation
1 parent 1b77877 commit f3a7ccc

File tree

15 files changed

+149
-66
lines changed

15 files changed

+149
-66
lines changed

.github/workflows/Documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- uses: actions/checkout@v4
1616
- uses: julia-actions/setup-julia@latest
1717
with:
18-
version: '1'
18+
version: '1.10'
1919
- name: Install dependencies
2020
run: |
2121
import Pkg

.github/workflows/Downgrade.yml

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,40 @@ jobs:
1515
runs-on: ubuntu-latest
1616
strategy:
1717
matrix:
18-
version: ["1.10"]
18+
version:
19+
- "1.10"
20+
group:
21+
- Core
22+
- Downstream
23+
- Misc
24+
- Wrappers
1925
steps:
2026
- uses: actions/checkout@v4
2127
- uses: julia-actions/setup-julia@v2
2228
with:
2329
version: ${{ matrix.version }}
2430
- uses: julia-actions/julia-downgrade-compat@v1
31+
- name: "Install Dependencies and Run Tests"
32+
run: |
33+
import Pkg
34+
Pkg.Registry.update()
35+
# Install packages present in subdirectories
36+
dev_pks = Pkg.PackageSpec[]
37+
for path in ("lib/SciMLJacobianOperators", "lib/BracketingNonlinearSolve", "lib/NonlinearSolveBase", "lib/SimpleNonlinearSolve")
38+
push!(dev_pks, Pkg.PackageSpec(; path))
39+
end
40+
Pkg.develop(dev_pks)
41+
Pkg.instantiate()
42+
Pkg.test(; coverage=true)
43+
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=. {0}
44+
env:
45+
GROUP: ${{ matrix.group }}
46+
- uses: julia-actions/julia-processcoverage@v1
2547
with:
26-
skip: Pkg,TOML
27-
- uses: julia-actions/julia-buildpkg@v1
28-
- uses: julia-actions/julia-runtest@v1
48+
directories: src,ext,lib/SciMLJacobianOperators/src
49+
- uses: codecov/codecov-action@v4
50+
with:
51+
file: lcov.info
52+
token: ${{ secrets.CODECOV_TOKEN }}
53+
verbose: true
54+
fail_ci_if_error: true

docs/Project.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
33
AlgebraicMultigrid = "2169fc97-5a83-5252-b627-83903c6c433c"
44
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
55
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
6+
BracketingNonlinearSolve = "70df07ce-3d50-431d-a3e7-ca6ddb60ac1e"
67
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
78
DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63"
89
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
@@ -11,8 +12,8 @@ DocumenterInterLinks = "d12716ef-a0f6-4df4-a9f1-a5a34e75c656"
1112
IncompleteLU = "40713840-3770-5561-ab4c-a76e7d0d7895"
1213
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
1314
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
14-
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
1515
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
16+
NonlinearSolveBase = "be0214bd-f91f-a760-ac4e-3421ce2b2da0"
1617
OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a"
1718
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
1819
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
@@ -29,16 +30,16 @@ ADTypes = "1.9.0"
2930
AlgebraicMultigrid = "0.5, 0.6"
3031
ArrayInterface = "6, 7"
3132
BenchmarkTools = "1"
32-
DiffEqBase = "6.136"
33+
BracketingNonlinearSolve = "1"
3334
DifferentiationInterface = "0.6.1"
3435
Documenter = "1"
3536
DocumenterCitations = "1"
3637
DocumenterInterLinks = "1.0.0"
3738
IncompleteLU = "0.2"
3839
InteractiveUtils = "<0.0.1, 1"
3940
LinearSolve = "2"
40-
ModelingToolkit = "9"
4141
NonlinearSolve = "4"
42+
NonlinearSolveBase = "1"
4243
OrdinaryDiffEqTsit5 = "1.1.0"
4344
Plots = "1"
4445
Random = "1.10"

docs/make.jl

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
using Documenter, DocumenterCitations, DocumenterInterLinks
22
using NonlinearSolve, SimpleNonlinearSolve, Sundials, SteadyStateDiffEq, SciMLBase,
3-
DiffEqBase
3+
BracketingNonlinearSolve, NonlinearSolveBase
44
using SciMLJacobianOperators
5+
import DiffEqBase
56

67
cp(joinpath(@__DIR__, "Manifest.toml"),
78
joinpath(@__DIR__, "src/assets/Manifest.toml"), force = true)
@@ -20,8 +21,9 @@ interlinks = InterLinks(
2021
makedocs(;
2122
sitename = "NonlinearSolve.jl",
2223
authors = "Chris Rackauckas",
23-
modules = [NonlinearSolve, SimpleNonlinearSolve, SteadyStateDiffEq,
24-
Sundials, DiffEqBase, SciMLBase, SciMLJacobianOperators],
24+
modules = [NonlinearSolve, SimpleNonlinearSolve, SteadyStateDiffEq, DiffEqBase,
25+
Sundials, NonlinearSolveBase, SciMLBase, SciMLJacobianOperators,
26+
BracketingNonlinearSolve],
2527
clean = true,
2628
doctest = false,
2729
linkcheck = true,

docs/pages.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Put in a separate page so it can be used by SciMLDocs.jl
22

3-
pages = ["index.md",
3+
pages = [
4+
"index.md",
45
"Getting Started with Nonlinear Rootfinding in Julia" => "tutorials/getting_started.md",
56
"Tutorials" => Any[
67
"tutorials/code_optimization.md",
@@ -31,6 +32,7 @@ pages = ["index.md",
3132
"Native Functionalities" => Any[
3233
"native/solvers.md",
3334
"native/simplenonlinearsolve.md",
35+
"native/bracketingnonlinearsolve.md",
3436
"native/steadystatediffeq.md",
3537
"native/descent.md",
3638
"native/globalization.md",

docs/src/basics/diagnostics_api.md

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,16 @@ Note that you will have to restart Julia to disable the timer outputs once enabl
2727
## Example Usage
2828

2929
```@example diagnostics_example
30-
using ModelingToolkit, NonlinearSolve
30+
using NonlinearSolve
3131
32-
@variables x y z
33-
@parameters σ ρ β
32+
function nlfunc(resid, u0, p)
33+
resid[1] = u0[1] * u0[1] - p
34+
resid[2] = u0[2] * u0[2] - p
35+
resid[3] = u0[3] * u0[3] - p
36+
nothing
37+
end
3438
35-
# Define a nonlinear system
36-
eqs = [0 ~ σ * (y - x), 0 ~ x * (ρ - z) - y, 0 ~ x * y - β * z]
37-
@mtkbuild ns = NonlinearSystem(eqs, [x, y, z], [σ, ρ, β])
38-
39-
u0 = [x => 1.0, y => 0.0, z => 0.0]
40-
41-
ps = [σ => 10.0 ρ => 26.0 β => 8 / 3]
42-
43-
prob = NonlinearProblem(ns, u0, ps)
39+
prob = NonlinearProblem(nlfunc, [1.0, 3.0, 5.0], 2.0)
4440
4541
solve(prob)
4642
```

docs/src/basics/solve.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# [Common Solver Options (Solve Keyword Arguments)](@id solver_options)
22

33
```@docs
4-
solve(prob::SciMLBase.NonlinearProblem, args...; kwargs...)
4+
solve(::NonlinearProblem, args...; kwargs...)
55
```
66

77
## General Controls

docs/src/basics/termination_condition.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,23 @@ terminated = cache(du, u, uprev)
2323
### Absolute Tolerance
2424

2525
```@docs
26-
AbsTerminationMode
27-
AbsNormTerminationMode
28-
AbsNormSafeTerminationMode
29-
AbsNormSafeBestTerminationMode
26+
NonlinearSolveBase.AbsTerminationMode
27+
NonlinearSolveBase.AbsNormTerminationMode
28+
NonlinearSolveBase.AbsNormSafeTerminationMode
29+
NonlinearSolveBase.AbsNormSafeBestTerminationMode
3030
```
3131

3232
### Relative Tolerance
3333

3434
```@docs
35-
RelTerminationMode
36-
RelNormTerminationMode
37-
RelNormSafeTerminationMode
38-
RelNormSafeBestTerminationMode
35+
NonlinearSolveBase.RelTerminationMode
36+
NonlinearSolveBase.RelNormTerminationMode
37+
NonlinearSolveBase.RelNormSafeTerminationMode
38+
NonlinearSolveBase.RelNormSafeBestTerminationMode
39+
```
40+
41+
### Both Tolerances
42+
43+
```@docs
44+
NonlinearSolveBase.NormTerminationMode
3945
```

docs/src/devdocs/algorithm_helpers.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,6 @@ NonlinearSolve.GenericTrustRegionScheme
6060
## Miscellaneous
6161

6262
```@docs
63-
SimpleNonlinearSolve.__nextfloat_tdir
64-
SimpleNonlinearSolve.__prevfloat_tdir
65-
SimpleNonlinearSolve.__max_tdir
6663
NonlinearSolve.callback_into_cache!
6764
NonlinearSolve.concrete_jac
6865
```
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# BracketingNonlinearSolve.jl
2+
3+
These methods can be used independently of the rest of NonlinearSolve.jl
4+
5+
```@index
6+
Pages = ["bracketingnonlinearsolve.md"]
7+
```
8+
9+
## Interval Methods
10+
11+
These methods are suited for interval (scalar) root-finding problems,
12+
i.e. [`IntervalNonlinearProblem`](@ref).
13+
14+
```@docs
15+
ITP
16+
Alefeld
17+
Bisection
18+
Falsi
19+
Ridder
20+
Brent
21+
```

0 commit comments

Comments
 (0)