Skip to content

Commit a297d47

Browse files
authored
Merge branch 'master' into implicit_solve
2 parents 53c0406 + 21e028b commit a297d47

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+460
-227
lines changed

.github/workflows/CI_BracketingNonlinearSolve.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ name: CI (BracketingNonlinearSolve)
22

33
on:
44
pull_request:
5-
branches:
6-
- master
75
paths:
86
- "lib/BracketingNonlinearSolve/**"
97
- ".github/workflows/CI_BracketingNonlinearSolve.yml"
@@ -31,7 +29,6 @@ jobs:
3129
os:
3230
- ubuntu-latest
3331
- macos-latest
34-
- windows-latest
3532
steps:
3633
- uses: actions/checkout@v4
3734
- uses: julia-actions/setup-julia@v2

.github/workflows/CI_NonlinearSolve.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ name: CI (NonlinearSolve)
22

33
on:
44
pull_request:
5-
branches:
6-
- master
75
paths:
86
- "src/**"
97
- "ext/**"
@@ -37,13 +35,13 @@ jobs:
3735
- core
3836
- downstream
3937
- wrappers
38+
- misc
4039
version:
4140
- "1.10"
4241
- "1"
4342
os:
4443
- ubuntu-latest
4544
- macos-latest
46-
- windows-latest
4745
steps:
4846
- uses: actions/checkout@v4
4947
- uses: julia-actions/setup-julia@v2
@@ -95,6 +93,7 @@ jobs:
9593
- core
9694
- downstream
9795
- wrappers
96+
- misc
9897
steps:
9998
- uses: actions/checkout@v4
10099
- uses: julia-actions/setup-julia@v2

.github/workflows/CI_NonlinearSolveBase.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ name: CI (NonlinearSolveBase)
22

33
on:
44
pull_request:
5-
branches:
6-
- master
75
paths:
86
- "lib/NonlinearSolveBase/**"
97
- ".github/workflows/CI_NonlinearSolveBase.yml"
@@ -30,7 +28,6 @@ jobs:
3028
os:
3129
- ubuntu-latest
3230
- macos-latest
33-
- windows-latest
3431
steps:
3532
- uses: actions/checkout@v4
3633
- uses: julia-actions/setup-julia@v2

.github/workflows/CI_NonlinearSolveFirstOrder.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ name: CI (NonlinearSolveFirstOrder)
22

33
on:
44
pull_request:
5-
branches:
6-
- master
75
paths:
86
- "lib/NonlinearSolveFirstOrder/**"
97
- ".github/workflows/CI_NonlinearSolveFirstOrder.yml"
@@ -31,7 +29,6 @@ jobs:
3129
os:
3230
- ubuntu-latest
3331
- macos-latest
34-
- windows-latest
3532
steps:
3633
- uses: actions/checkout@v4
3734
- uses: julia-actions/setup-julia@v2

.github/workflows/CI_NonlinearSolveHomotopyContinuation.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ name: CI (NonlinearSolveHomotopyContinuation)
22

33
on:
44
pull_request:
5-
branches:
6-
- master
75
paths:
86
- "lib/NonlinearSolveHomotopyContinuation/**"
97
- ".github/workflows/CI_NonlinearSolveHomotopyContinuation.yml"
@@ -30,7 +28,6 @@ jobs:
3028
os:
3129
- ubuntu-latest
3230
- macos-latest
33-
- windows-latest
3431
steps:
3532
- uses: actions/checkout@v4
3633
- uses: julia-actions/setup-julia@v2

.github/workflows/CI_NonlinearSolveQuasiNewton.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ name: CI (NonlinearSolveQuasiNewton)
22

33
on:
44
pull_request:
5-
branches:
6-
- master
75
paths:
86
- "lib/NonlinearSolveQuasiNewton/**"
97
- ".github/workflows/CI_NonlinearSolveQuasiNewton.yml"
@@ -31,7 +29,6 @@ jobs:
3129
os:
3230
- ubuntu-latest
3331
- macos-latest
34-
- windows-latest
3532
steps:
3633
- uses: actions/checkout@v4
3734
- uses: julia-actions/setup-julia@v2

.github/workflows/CI_NonlinearSolveSpectralMethods.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ name: CI (NonlinearSolveSpectralMethods)
22

33
on:
44
pull_request:
5-
branches:
6-
- master
75
paths:
86
- "lib/NonlinearSolveSpectralMethods/**"
97
- ".github/workflows/CI_NonlinearSolveSpectralMethods.yml"
@@ -31,7 +29,6 @@ jobs:
3129
os:
3230
- ubuntu-latest
3331
- macos-latest
34-
- windows-latest
3532
steps:
3633
- uses: actions/checkout@v4
3734
- uses: julia-actions/setup-julia@v2

.github/workflows/CI_SCCNonlinearSolve.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ name: CI (SCCNonlinearSolve)
22

33
on:
44
pull_request:
5-
branches:
6-
- master
75
paths:
86
- "lib/SCCNonlinearSolve/**"
97
- ".github/workflows/CI_SCCNonlinearSolve.yml"
@@ -31,7 +29,6 @@ jobs:
3129
os:
3230
- ubuntu-latest
3331
- macos-latest
34-
- windows-latest
3532
steps:
3633
- uses: actions/checkout@v4
3734
- uses: julia-actions/setup-julia@v2

.github/workflows/CI_SciMLJacobianOperators.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ name: CI (SciMLJacobianOperators)
22

33
on:
44
pull_request:
5-
branches:
6-
- master
75
paths:
86
- "lib/SciMLJacobianOperators/**"
97
- ".github/workflows/CI_SciMLJacobianOperators.yml"
@@ -29,7 +27,6 @@ jobs:
2927
os:
3028
- ubuntu-latest
3129
- macos-latest
32-
- windows-latest
3330
steps:
3431
- uses: actions/checkout@v4
3532
- uses: julia-actions/setup-julia@v2

.github/workflows/CI_SimpleNonlinearSolve.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ name: CI (SimpleNonlinearSolve)
22

33
on:
44
pull_request:
5-
branches:
6-
- master
75
paths:
86
- "lib/SimpleNonlinearSolve/**"
97
- ".github/workflows/CI_SimpleNonlinearSolve.yml"
@@ -32,7 +30,6 @@ jobs:
3230
os:
3331
- ubuntu-latest
3432
- macos-latest
35-
- windows-latest
3633
group:
3734
- core
3835
- adjoint

.github/workflows/CompatHelper.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,14 @@ jobs:
1515
julia-arch: [x86]
1616
os: [ubuntu-latest]
1717
steps:
18+
- uses: actions/checkout@v4
1819
- uses: julia-actions/setup-julia@latest
1920
with:
2021
version: ${{ matrix.julia-version }}
22+
2123
- name: Pkg.add("CompatHelper")
2224
run: julia -e 'using Pkg; Pkg.add("CompatHelper")'
25+
2326
- name: CompatHelper.main()
2427
env:
2528
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Project.toml

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "NonlinearSolve"
22
uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
33
authors = ["SciML"]
4-
version = "4.4.0"
4+
version = "4.6.0"
55

66
[deps]
77
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
@@ -32,6 +32,14 @@ SparseMatrixColorings = "0a514795-09f3-496d-8182-132a7b665d35"
3232
StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c"
3333
SymbolicIndexingInterface = "2efcf032-c050-4f8e-a9bb-153293bab1f5"
3434

35+
[sources]
36+
BracketingNonlinearSolve = {path = "lib/BracketingNonlinearSolve"}
37+
NonlinearSolveBase = {path = "lib/NonlinearSolveBase"}
38+
NonlinearSolveFirstOrder = {path = "lib/NonlinearSolveFirstOrder"}
39+
NonlinearSolveQuasiNewton = {path = "lib/NonlinearSolveQuasiNewton"}
40+
NonlinearSolveSpectralMethods = {path = "lib/NonlinearSolveSpectralMethods"}
41+
SimpleNonlinearSolve = {path = "lib/SimpleNonlinearSolve"}
42+
3543
[weakdeps]
3644
FastLevenbergMarquardt = "7a0df574-e128-4d35-8cbd-3d84502bf7ce"
3745
FixedPointAcceleration = "817d07cb-a79a-5c30-9a31-890123675176"
@@ -75,8 +83,8 @@ ExplicitImports = "1.5"
7583
FastClosures = "0.3.2"
7684
FastLevenbergMarquardt = "0.1"
7785
FiniteDiff = "2.24"
78-
FixedPointAcceleration = "0.3"
79-
ForwardDiff = "0.10.36"
86+
FixedPointAcceleration = "0.3, 1"
87+
ForwardDiff = "0.10.36, 1"
8088
Hwloc = "3"
8189
InteractiveUtils = "<0.0.1, 1"
8290
LeastSquaresOptim = "0.8.5"
@@ -97,14 +105,14 @@ NonlinearSolveSpectralMethods = "1.1"
97105
OrdinaryDiffEqTsit5 = "1.1.0"
98106
PETSc = "0.3"
99107
Pkg = "1.10"
100-
PolyesterForwardDiff = "0.1"
108+
PolyesterForwardDiff = "0.1.3"
101109
PrecompileTools = "1.2"
102110
Preferences = "1.4"
103111
Random = "1.10"
104112
ReTestItems = "1.24"
105113
Reexport = "1.2"
106114
SIAMFANLEquations = "1.0.1"
107-
SciMLBase = "2.58"
115+
SciMLBase = "2.69"
108116
SimpleNonlinearSolve = "2.1"
109117
SparseArrays = "1.10"
110118
SparseConnectivityTracer = "0.6.5"
@@ -114,9 +122,9 @@ StableRNGs = "1"
114122
StaticArrays = "1.9"
115123
StaticArraysCore = "1.4"
116124
Sundials = "4.23.1"
117-
SymbolicIndexingInterface = "0.3.31"
125+
SymbolicIndexingInterface = "0.3.36"
118126
Test = "1.10"
119-
Zygote = "0.6.69"
127+
Zygote = "0.6.69, 0.7"
120128
julia = "1.10"
121129

122130
[extras]

docs/Project.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Sundials = "c3572dad-4567-51f8-b174-8c6c989267f4"
3232

3333
[compat]
3434
ADTypes = "1.9.0"
35-
AlgebraicMultigrid = "0.5, 0.6"
35+
AlgebraicMultigrid = "0.5, 0.6, 1"
3636
ArrayInterface = "6, 7"
3737
BenchmarkTools = "1"
3838
BracketingNonlinearSolve = "1"
@@ -43,17 +43,18 @@ DocumenterCitations = "1"
4343
DocumenterInterLinks = "1.0.0"
4444
IncompleteLU = "0.2"
4545
InteractiveUtils = "<0.0.1, 1"
46-
LinearSolve = "2"
46+
LinearSolve = "2, 3"
4747
NonlinearSolve = "4"
4848
NonlinearSolveBase = "1"
4949
NonlinearSolveFirstOrder = "1"
50+
NonlinearSolveHomotopyContinuation = "0.1"
5051
NonlinearSolveQuasiNewton = "1"
5152
NonlinearSolveSpectralMethods = "1"
5253
OrdinaryDiffEqTsit5 = "1.1.0"
5354
PETSc = "0.3"
5455
Plots = "1"
5556
Random = "1.10"
56-
SciMLBase = "2.58"
57+
SciMLBase = "2.69"
5758
SciMLJacobianOperators = "0.1"
5859
SimpleNonlinearSolve = "2"
5960
SparseConnectivityTracer = "0.6.5"

docs/make.jl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ include("pages.jl")
2525
bib = CitationBibliography(joinpath(@__DIR__, "src", "refs.bib"))
2626

2727
interlinks = InterLinks(
28-
"ADTypes" => "https://sciml.github.io/ADTypes.jl/stable/",
29-
"LineSearch" => "https://sciml.github.io/LineSearch.jl/dev/"
28+
"ADTypes" => "https://docs.sciml.ai/ADTypes/dev/",
29+
"LineSearch" => "https://docs.sciml.ai/LineSearch/dev/"
3030
)
3131

3232
makedocs(;
@@ -46,7 +46,8 @@ makedocs(;
4646
linkcheck = true,
4747
linkcheck_ignore = [
4848
"https://twitter.com/ChrisRackauckas/status/1544743542094020615",
49-
"https://link.springer.com/article/10.1007/s40096-020-00339-4"
49+
"https://link.springer.com/article/10.1007/s40096-020-00339-4",
50+
"https://dl.acm.org/doi/10.1145/210089.210111"
5051
],
5152
checkdocs = :exports,
5253
warnonly = [:missing_docs],

docs/src/basics/diagnostics_api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ solve process. This is controlled by 3 keyword arguments to `solve`:
2020

2121
All the native NonlinearSolve.jl algorithms come with in-built
2222
[TimerOutputs.jl](https://github.com/KristofferC/TimerOutputs.jl) support. However, this
23-
is disabled by default and can be enabled via [`NonlinearSolve.enable_timer_outputs`](@ref).
23+
is disabled by default and can be enabled via [`NonlinearSolveBase.enable_timer_outputs`](@ref).
2424

2525
Note that you will have to restart Julia to disable the timer outputs once enabled.
2626

docs/src/basics/faq.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -72,28 +72,28 @@ differentiate the function based on the input types. However, this function has
7272
be a Dual number. This causes the error. To fix it:
7373

7474
1. Specify the `autodiff` to be `AutoFiniteDiff`
75-
76-
```@example dual_error_faq
77-
sol = solve(prob_oop, LevenbergMarquardt(; autodiff = AutoFiniteDiff());
78-
maxiters = 10000, abstol = 1e-8)
79-
```
80-
81-
This worked but, Finite Differencing is not the recommended approach in any scenario.
75+
76+
```@example dual_error_faq
77+
sol = solve(prob_oop, LevenbergMarquardt(; autodiff = AutoFiniteDiff());
78+
maxiters = 10000, abstol = 1e-8)
79+
```
80+
81+
This worked but, Finite Differencing is not the recommended approach in any scenario.
8282
8383
2. Rewrite the function to use
8484
[PreallocationTools.jl](https://github.com/SciML/PreallocationTools.jl) or write it as
85-
86-
```@example dual_error_faq
87-
function fff_correct(var, p)
88-
v_true = [1.0, 0.1, 2.0, 0.5]
89-
xx = eltype(var)[1.0, 2.0, 3.0, 4.0]
90-
xx[1] = var[1] - v_true[1]
91-
return xx - v_true
92-
end
93-
94-
prob_oop = NonlinearLeastSquaresProblem{false}(fff_correct, v_init)
95-
sol = solve(prob_oop, LevenbergMarquardt(); maxiters = 10000, abstol = 1e-8)
96-
```
85+
86+
```@example dual_error_faq
87+
function fff_correct(var, p)
88+
v_true = [1.0, 0.1, 2.0, 0.5]
89+
xx = eltype(var)[1.0, 2.0, 3.0, 4.0]
90+
xx[1] = var[1] - v_true[1]
91+
return xx - v_true
92+
end
93+
94+
prob_oop = NonlinearLeastSquaresProblem{false}(fff_correct, v_init)
95+
sol = solve(prob_oop, LevenbergMarquardt(); maxiters = 10000, abstol = 1e-8)
96+
```
9797
9898
## I thought NonlinearSolve.jl was type-stable and fast. But it isn't, why?
9999

docs/src/native/bracketingnonlinearsolve.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ Bisection
1818
Falsi
1919
Ridder
2020
Brent
21+
Muller
2122
```

docs/src/solvers/bracketing_solvers.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ This gives a robust and fast method, which therefore enjoys considerable popular
2626

2727
## Full List of Methods
2828

29-
### SimpleNonlinearSolve.jl
29+
### BracketingNonlinearSolve.jl
3030

3131
These methods are automatically included as part of NonlinearSolve.jl. Though, one can use
32-
SimpleNonlinearSolve.jl directly to decrease the dependencies and improve load time.
32+
BracketingNonlinearSolve.jl directly to decrease the dependencies and improve load time.
3333

3434
- [`ITP`](@ref): A non-allocating ITP (Interpolate, Truncate & Project) method
3535
- [`Falsi`](@ref): A non-allocating regula falsi method
3636
- [`Bisection`](@ref): A common bisection method
3737
- [`Ridder`](@ref): A non-allocating Ridder method
3838
- [`Brent`](@ref): A non-allocating Brent method
39+
- [`Muller`](@ref): A non-allocating Muller's method

0 commit comments

Comments
 (0)