Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .JuliaFormatter.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,3 @@ style = "sciml"
format_markdown = true
annotate_untyped_fields_with_any = false
format_docstrings = true
join_lines_based_on_source = false
18 changes: 13 additions & 5 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,25 @@
steps:
- label: "Julia 1"
- label: "Julia 1 (NonlinearSolve)"
plugins:
- JuliaCI/julia#v1:
version: "1"
- JuliaCI/julia-test#v1:
coverage: true
- JuliaCI/julia-coverage#v1:
codecov: true
dirs:
- src
- ext
command: |
julia --color=yes --code-coverage=user --depwarn=yes --project=. -e '
import Pkg;
Pkg.Registry.update();
# Install packages present in subdirectories
dev_pks = Pkg.PackageSpec[];
for path in ("lib/SciMLJacobianOperators",)
push!(dev_pks, Pkg.PackageSpec(; path));
end
Pkg.develop(dev_pks);
Pkg.instantiate();
Pkg.test(; coverage=true)'
agents:
queue: "juliagpu"
cuda: "*"
Expand All @@ -20,6 +30,4 @@ steps:
env:
GROUP: CUDA
JULIA_PKG_SERVER: "" # it often struggles with our large artifacts
RETESTITEMS_NWORKERS: 4
RETESTITEMS_NWORKER_THREADS: 2
SECRET_CODECOV_TOKEN: "HC7K/ymhi62KUQ5OLU4DOl+11gaQt4JhXX/2nfTGlTsBB8mEMxQ8R+sHIp/2HjEup5eSXAN2IWQDQ7RDBuQvVp0T1UVtr2e4YNZFztKnsJXrFO15hXxYShJodI//X/8DzhlQd/lyTDOAOJu3eznsc3sC2CUgJzXZxLUtQN9YaZ1i3a+NoN1mO5UpkkHVhXigwF5gjy+0tei8fCdcP+SIhG0EanS5yd9q/SurtCpMHsHyUG97+ZVPglSKgdaqr31+PdmiPJ+ynp4+Hnc/esosxUSHSIL+ryRTO+28RNwPTiNf99J51RJLQmz1knWTR1ky6tiYIZ5218O6wvNil0SqNw==;U2FsdGVkX18nBY3t4LZYlEIz3EVKjpqCd994JNeJGt006up+sAjXEssI0tgCVXnfXsenVsP3NCCEoOS1GXc44g=="
80 changes: 80 additions & 0 deletions .github/workflows/CI_NonlinearSolve.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: CI (NonlinearSolve)

on:
pull_request:
branches:
- master
paths:
- "src/**"
- "ext/**"
- "test/**"
- "Project.toml"
- ".github/workflows/CI_NonlinearSolve.yml"
- "lib/SciMLNonlinearOperators/**"
push:
branches:
- master

concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
group:
- Core
- Downstream
- Misc
- Wrappers
version:
- "min"
- "1"
os:
- ubuntu-latest
- macos-latest
- windows-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
- uses: actions/cache@v4
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- name: "Install Dependencies and Run Tests"
run: |
import Pkg
Pkg.Registry.update()
# Install packages present in subdirectories
dev_pks = Pkg.PackageSpec[]
for path in ("lib/SciMLJacobianOperators",)
push!(dev_pks, Pkg.PackageSpec(; path))
end
Pkg.develop(dev_pks)
Pkg.instantiate()
Pkg.test(; coverage=true)
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=. {0}
env:
GROUP: ${{ matrix.group }}
- uses: julia-actions/julia-processcoverage@v1
with:
directories: src,ext,lib/SciMLJacobianOperators/src
- uses: codecov/codecov-action@v4
with:
file: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
fail_ci_if_error: true
Original file line number Diff line number Diff line change
@@ -1,28 +1,30 @@
name: CI
name: CI (SciMLJacobianOperators)

on:
pull_request:
branches:
- master
paths:
- "lib/SciMLJacobianOperators/**"
- ".github/workflows/CI_SciMLJacobianOperators.yml"
push:
branches:
- master

concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
group:
- Core
- Downstream
- Misc
- Wrappers
version:
- "min"
- "1"
os:
- ubuntu-latest
Expand All @@ -43,16 +45,16 @@ jobs:
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
env:
GROUP: ${{ matrix.group }}
JULIA_NUM_THREADS: 11
RETESTITEMS_NWORKERS: 4
RETESTITEMS_NWORKER_THREADS: 2
- name: "Install Dependencies and Run Tests"
run: |
import Pkg
Pkg.Registry.update()
Pkg.instantiate()
Pkg.test(; coverage=true)
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/SciMLJacobianOperators {0}
- uses: julia-actions/julia-processcoverage@v1
with:
directories: src,ext
directories: lib/SciMLJacobianOperators/src
- uses: codecov/codecov-action@v4
with:
file: lcov.info
Expand Down
12 changes: 11 additions & 1 deletion .github/workflows/Documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,17 @@ jobs:
with:
version: '1'
- name: Install dependencies
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
run: |
import Pkg
Pkg.Registry.update()
# Install packages present in subdirectories
dev_pks = Pkg.PackageSpec[]
for path in ("lib/SciMLJacobianOperators", ".")
push!(dev_pks, Pkg.PackageSpec(; path))
end
Pkg.develop(dev_pks)
Pkg.instantiate()
shell: julia --color=yes --project=docs/ {0}
- name: Build and deploy
env:
JULIA_DEBUG: "Documenter"
Expand Down
4 changes: 0 additions & 4 deletions .github/workflows/Downgrade.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,3 @@ jobs:
skip: Pkg,TOML
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
env:
JULIA_NUM_THREADS: 11
RETESTITEMS_NWORKERS: 4
RETESTITEMS_NWORKER_THREADS: 2
3 changes: 0 additions & 3 deletions .github/workflows/Downstream.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,6 @@ jobs:
@info "Not compatible with this release. No problem." exception=err
exit(0) # Exit immediately, as a success
end
env:
RETESTITEMS_NWORKERS: 4
RETESTITEMS_NWORKER_THREADS: 2
- uses: julia-actions/julia-processcoverage@v1
with:
directories: src,ext
Expand Down
12 changes: 9 additions & 3 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "NonlinearSolve"
uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
authors = ["SciML"]
version = "3.14.0"
version = "3.15.0-DEV"

[deps]
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
Expand All @@ -23,6 +23,7 @@ Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
SciMLJacobianOperators = "19f34311-ddf3-4b8b-af20-060888a46c0e"
SimpleNonlinearSolve = "727e6d20-b764-4bd8-a329-72de5adea6c7"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
SparseDiffTools = "47a9eef4-7e08-11e9-0b38-333d64bd3804"
Expand Down Expand Up @@ -73,12 +74,14 @@ FastLevenbergMarquardt = "0.1"
FiniteDiff = "2.22"
FixedPointAcceleration = "0.3"
ForwardDiff = "0.10.36"
Hwloc = "3"
InteractiveUtils = "<0.0.1, 1"
LazyArrays = "1.8.2, 2"
LeastSquaresOptim = "0.8.5"
LineSearches = "7.2"
LinearAlgebra = "1.10"
LinearSolve = "2.30"
MINPACK = "=1.2"
MINPACK = "1.2"
MaybeInplace = "0.1.3"
ModelingToolkit = "9.15.0"
NLSolvers = "0.5"
Expand All @@ -96,6 +99,7 @@ RecursiveArrayTools = "3.8"
Reexport = "1.2"
SIAMFANLEquations = "1.0.1"
SciMLBase = "2.34.0"
SciMLJacobianOperators = "0.1"
SimpleNonlinearSolve = "1.8"
SparseArrays = "1.10"
SparseDiffTools = "2.19"
Expand All @@ -120,6 +124,8 @@ Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7"
FastLevenbergMarquardt = "7a0df574-e128-4d35-8cbd-3d84502bf7ce"
FixedPointAcceleration = "817d07cb-a79a-5c30-9a31-890123675176"
Hwloc = "0e44f5e4-bd66-52a0-8798-143a42290a1d"
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
LeastSquaresOptim = "0fc2ff8b-aaa3-5acd-a817-1944a5e08891"
MINPACK = "4854310b-de5a-5eb6-a2a5-c1dee2bd17f9"
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
Expand All @@ -141,4 +147,4 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"

[targets]
test = ["Aqua", "BandedMatrices", "BenchmarkTools", "CUDA", "Enzyme", "ExplicitImports", "FastLevenbergMarquardt", "FixedPointAcceleration", "LeastSquaresOptim", "MINPACK", "ModelingToolkit", "NLSolvers", "NLsolve", "NaNMath", "NonlinearProblemLibrary", "OrdinaryDiffEq", "Pkg", "Random", "ReTestItems", "SIAMFANLEquations", "SpeedMapping", "StableRNGs", "StaticArrays", "Sundials", "Symbolics", "Test", "Zygote"]
test = ["Aqua", "BandedMatrices", "BenchmarkTools", "CUDA", "Enzyme", "ExplicitImports", "FastLevenbergMarquardt", "FixedPointAcceleration", "Hwloc", "InteractiveUtils", "LeastSquaresOptim", "MINPACK", "ModelingToolkit", "NLSolvers", "NLsolve", "NaNMath", "NonlinearProblemLibrary", "OrdinaryDiffEq", "Pkg", "Random", "ReTestItems", "SIAMFANLEquations", "SpeedMapping", "StableRNGs", "StaticArrays", "Sundials", "Symbolics", "Test", "Zygote"]
2 changes: 2 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
SciMLJacobianOperators = "19f34311-ddf3-4b8b-af20-060888a46c0e"
SimpleNonlinearSolve = "727e6d20-b764-4bd8-a329-72de5adea6c7"
SparseDiffTools = "47a9eef4-7e08-11e9-0b38-333d64bd3804"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
Expand All @@ -36,6 +37,7 @@ OrdinaryDiffEq = "6"
Plots = "1"
Random = "<0.0.1, 1"
SciMLBase = "2.4"
SciMLJacobianOperators = "0.1"
SimpleNonlinearSolve = "1"
SparseDiffTools = "2.14"
StaticArrays = "1"
Expand Down
5 changes: 3 additions & 2 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using Documenter, DocumenterCitations
using NonlinearSolve, SimpleNonlinearSolve, Sundials, SteadyStateDiffEq, SciMLBase,
DiffEqBase
using SciMLJacobianOperators

cp(joinpath(@__DIR__, "Manifest.toml"),
joinpath(@__DIR__, "src/assets/Manifest.toml"), force = true)
Expand All @@ -13,8 +14,8 @@ bib = CitationBibliography(joinpath(@__DIR__, "src", "refs.bib"))

makedocs(; sitename = "NonlinearSolve.jl",
authors = "Chris Rackauckas",
modules = [NonlinearSolve, SimpleNonlinearSolve,
SteadyStateDiffEq, Sundials, DiffEqBase, SciMLBase],
modules = [NonlinearSolve, SimpleNonlinearSolve, SteadyStateDiffEq,
Sundials, DiffEqBase, SciMLBase, SciMLJacobianOperators],
clean = true,
doctest = false,
linkcheck = true,
Expand Down
74 changes: 55 additions & 19 deletions docs/pages.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,61 @@

pages = ["index.md",
"Getting Started with Nonlinear Rootfinding in Julia" => "tutorials/getting_started.md",
"Tutorials" => Any["tutorials/code_optimization.md", "tutorials/large_systems.md",
"tutorials/modelingtoolkit.md", "tutorials/small_compile.md",
"tutorials/iterator_interface.md", "tutorials/optimizing_parameterized_ode.md"],
"Basics" => Any["basics/nonlinear_problem.md", "basics/nonlinear_functions.md",
"basics/solve.md", "basics/nonlinear_solution.md", "basics/autodiff.md",
"basics/termination_condition.md", "basics/diagnostics_api.md",
"basics/sparsity_detection.md", "basics/faq.md"],
"Solver Summaries and Recommendations" => Any["solvers/nonlinear_system_solvers.md",
"solvers/bracketing_solvers.md", "solvers/steady_state_solvers.md",
"solvers/nonlinear_least_squares_solvers.md", "solvers/fixed_point_solvers.md"],
"Native Functionalities" => Any["native/solvers.md", "native/simplenonlinearsolve.md",
"native/steadystatediffeq.md", "native/descent.md",
"native/globalization.md", "native/diagnostics.md"],
"Tutorials" => Any[
"tutorials/code_optimization.md",
"tutorials/large_systems.md",
"tutorials/modelingtoolkit.md",
"tutorials/small_compile.md",
"tutorials/iterator_interface.md",
"tutorials/optimizing_parameterized_ode.md"
],
"Basics" => Any[
"basics/nonlinear_problem.md",
"basics/nonlinear_functions.md",
"basics/solve.md",
"basics/nonlinear_solution.md",
"basics/autodiff.md",
"basics/termination_condition.md",
"basics/diagnostics_api.md",
"basics/sparsity_detection.md",
"basics/faq.md"
],
"Solver Summaries and Recommendations" => Any[
"solvers/nonlinear_system_solvers.md",
"solvers/bracketing_solvers.md",
"solvers/steady_state_solvers.md",
"solvers/nonlinear_least_squares_solvers.md",
"solvers/fixed_point_solvers.md"
],
"Native Functionalities" => Any[
"native/solvers.md",
"native/simplenonlinearsolve.md",
"native/steadystatediffeq.md",
"native/descent.md",
"native/globalization.md",
"native/diagnostics.md"
],
"Wrapped Solver APIs" => Any[
"api/fastlevenbergmarquardt.md", "api/fixedpointacceleration.md",
"api/leastsquaresoptim.md", "api/minpack.md", "api/nlsolve.md", "api/nlsolvers.md",
"api/siamfanlequations.md", "api/speedmapping.md", "api/sundials.md"],
"api/fastlevenbergmarquardt.md",
"api/fixedpointacceleration.md",
"api/leastsquaresoptim.md",
"api/minpack.md",
"api/nlsolve.md",
"api/nlsolvers.md",
"api/siamfanlequations.md",
"api/speedmapping.md",
"api/sundials.md"
],
"Sub-Packages" => Any[
"api/SciMLJacobianOperators.md",
],
"Development Documentation" => [
"devdocs/internal_interfaces.md", "devdocs/linear_solve.md",
"devdocs/jacobian.md", "devdocs/operators.md", "devdocs/algorithm_helpers.md"],
"devdocs/internal_interfaces.md",
"devdocs/linear_solve.md",
"devdocs/jacobian.md",
"devdocs/operators.md",
"devdocs/algorithm_helpers.md"
],
"Release Notes" => "release_notes.md",
"References" => "references.md"]
"References" => "references.md"
]
Loading
Loading