Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: get docs to build again #252

Merged
merged 2 commits into from
Oct 14, 2024
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 README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,3 @@
[![Documentation and Deployment](https://badge.buildkite.com/b4720f5f3a8d2d1ac8bbaebf5e0e38aaae28b6c8fb436ba05e.svg)](https://buildkite.com/julialang/scimldocs?branch=main)

Attempts at a single documentation for the full SciML interface.

136 changes: 67 additions & 69 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -8,76 +8,74 @@ ENV["GKSwstype"] = "100"
using Plots

mathengine = MathJax3(Dict(:loader => Dict("load" => ["[tex]/require", "[tex]/mathtools"]),
:tex => Dict("inlineMath" => [["\$", "\$"], ["\\(", "\\)"]],
"packages" => [
"base",
"ams",
"autoload",
"mathtools",
"require",
])))
:tex => Dict("inlineMath" => [["\$", "\$"], ["\\(", "\\)"]],
"packages" => [
"base",
"ams",
"autoload",
"mathtools",
"require"
])))

makedocs(sitename = "Overview of Julia's SciML",
authors = "Chris Rackauckas",
modules = Module[],
clean = true, doctest = false, linkcheck = true,
linkcheck_ignore = ["https://twitter.com/ChrisRackauckas/status/1477274812460449793",
"https://epubs.siam.org/doi/10.1137/0903023",
"https://bkamins.github.io/julialang/2020/12/24/minilanguage.html",
"https://arxiv.org/abs/2109.06786",
"https://arxiv.org/abs/2001.04385",

],
format = Documenter.HTML(assets = ["assets/favicon.ico"],
canonical = "https://docs.sciml.ai/stable/",
mathengine = mathengine),
pages = [
"SciML: Open Source Software for Scientific Machine Learning with Julia" => "index.md",
"Getting Started" => [
"getting_started/getting_started.md",
"New User Tutorials" => [
"getting_started/installation.md",
"getting_started/first_simulation.md",
"getting_started/first_optimization.md",
"getting_started/fit_simulation.md",
"getting_started/find_root.md",
],
"Comparison With Other Tools" => [
"comparisons/python.md",
"comparisons/matlab.md",
"comparisons/r.md",
"comparisons/cppfortran.md",
],
],
"Showcase of Cool Examples" => Any["showcase/showcase.md",
"Automated Model Discovery" => Any["showcase/missing_physics.md",
"showcase/bayesian_neural_ode.md",
"showcase/blackhole.md"],
"Solving Difficult Equations Efficiently" => Any["showcase/brusselator.md",
"showcase/pinngpu.md",
"showcase/massively_parallel_gpu.md",
"showcase/gpu_spde.md"],
"Useful Cool Wonky Things" => Any["showcase/ode_types.md",
"showcase/symbolic_analysis.md",
"showcase/optimization_under_uncertainty.md"]],
"What is SciML?" => ["overview.md",
"Solvers" => ["highlevels/equation_solvers.md",
"highlevels/inverse_problems.md",
"highlevels/partial_differential_equation_solvers.md"],
"Modeling Tools" => ["highlevels/modeling_languages.md",
"highlevels/model_libraries_and_importers.md",
"highlevels/symbolic_tools.md",
"highlevels/array_libraries.md"],
"Simulation Analysis" => ["highlevels/parameter_analysis.md",
"highlevels/uncertainty_quantification.md",
"highlevels/plots_visualization.md"],
"Machine Learning" => ["highlevels/function_approximation.md",
"highlevels/implicit_layers.md",
"highlevels/symbolic_learning.md"],
"Developer Tools" => ["highlevels/numerical_utilities.md",
"highlevels/interfaces.md",
"highlevels/developer_documentation.md"],
"Extra Learning Resources" => ["highlevels/learning_resources.md"],
]])
authors = "Chris Rackauckas",
modules = Module[],
clean = true, doctest = false, linkcheck = true,
linkcheck_ignore = ["https://twitter.com/ChrisRackauckas/status/1477274812460449793",
"https://epubs.siam.org/doi/10.1137/0903023",
"https://bkamins.github.io/julialang/2020/12/24/minilanguage.html",
"https://arxiv.org/abs/2109.06786",
"https://arxiv.org/abs/2001.04385"],
format = Documenter.HTML(assets = ["assets/favicon.ico"],
canonical = "https://docs.sciml.ai/stable/",
mathengine = mathengine),
pages = [
"SciML: Open Source Software for Scientific Machine Learning with Julia" => "index.md",
"Getting Started" => [
"getting_started/getting_started.md",
"New User Tutorials" => [
"getting_started/installation.md",
"getting_started/first_simulation.md",
"getting_started/first_optimization.md",
"getting_started/fit_simulation.md",
"getting_started/find_root.md"
],
"Comparison With Other Tools" => [
"comparisons/python.md",
"comparisons/matlab.md",
"comparisons/r.md",
"comparisons/cppfortran.md"
]
],
"Showcase of Cool Examples" => Any["showcase/showcase.md",
"Automated Model Discovery" => Any["showcase/missing_physics.md",
"showcase/bayesian_neural_ode.md",
"showcase/blackhole.md"],
"Solving Difficult Equations Efficiently" => Any["showcase/brusselator.md",
"showcase/pinngpu.md",
"showcase/massively_parallel_gpu.md",
"showcase/gpu_spde.md"],
"Useful Cool Wonky Things" => Any["showcase/ode_types.md",
"showcase/symbolic_analysis.md",
"showcase/optimization_under_uncertainty.md"]],
"What is SciML?" => ["overview.md",
"Solvers" => ["highlevels/equation_solvers.md",
"highlevels/inverse_problems.md",
"highlevels/partial_differential_equation_solvers.md"],
"Modeling Tools" => ["highlevels/modeling_languages.md",
"highlevels/model_libraries_and_importers.md",
"highlevels/symbolic_tools.md",
"highlevels/array_libraries.md"],
"Simulation Analysis" => ["highlevels/parameter_analysis.md",
"highlevels/uncertainty_quantification.md",
"highlevels/plots_visualization.md"],
"Machine Learning" => ["highlevels/function_approximation.md",
"highlevels/implicit_layers.md",
"highlevels/symbolic_learning.md"],
"Developer Tools" => ["highlevels/numerical_utilities.md",
"highlevels/interfaces.md",
"highlevels/developer_documentation.md"],
"Extra Learning Resources" => ["highlevels/learning_resources.md"]
]])

deploydocs(repo = "github.com/SciML/SciMLDocs")
5 changes: 3 additions & 2 deletions docs/make_aggregate.jl
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@ docsmodules = [
=#
],
"Solvers" => [
"Equation Solvers" => ["LinearSolve", "NonlinearSolve", "DiffEqDocs", "Integrals", "DifferenceEquations",
"Optimization", "JumpProcesses"],
"Equation Solvers" => [
"LinearSolve", "NonlinearSolve", "DiffEqDocs", "Integrals",
"DifferenceEquations", "Optimization", "JumpProcesses", "LineSearch"],
#=
"Third-Party Equation Solvers" => [
"LowRankIntegrators",
Expand Down
6 changes: 3 additions & 3 deletions docs/src/comparisons/matlab.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,10 @@ The following chart will help you get quickly acquainted with Julia's SciML Tool
|:------------------- |:------------------------------------------------------------------------------------- |
| `plot` | [Plots](https://docs.juliaplots.org/stable/), [Makie](https://docs.makie.org/stable/) |
| `sparse` | [SparseArrays](https://docs.julialang.org/en/v1/stdlib/SparseArrays/#Sparse-Arrays) |
| `interp1` | [DataInterpolations](https://docs.sciml.ai/DataInterpolations/) |
| `\`, `gmres`, `cg` | [LinearSolve](http://linearsolve.sciml.ai/dev/) |
| `interp1` | [DataInterpolations](https://docs.sciml.ai/DataInterpolations/) |
| `\`, `gmres`, `cg` | [LinearSolve](https://linearsolve.sciml.ai/dev/) |
| `fsolve` | [NonlinearSolve](https://nonlinearsolve.sciml.ai/) |
| `quad` | [Integrals](https://docs.sciml.ai/Integrals/stable/) |
| `quad` | [Integrals](https://docs.sciml.ai/Integrals/stable/) |
| `fmincon` | [Optimization](https://optimization.sciml.ai/) |
| `odeXX` | [DifferentialEquations](https://diffeq.sciml.ai/latest/) |
| `ode45` | `Tsit5` |
Expand Down
4 changes: 2 additions & 2 deletions docs/src/comparisons/python.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ The following chart will help you get quickly acquainted with Julia's SciML Tool
|:---------------------------- |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Matplotlib | [Plots](https://docs.juliaplots.org/stable/), [Makie](https://docs.makie.org/stable/) |
| `scipy.special` | [SpecialFunctions](https://github.com/JuliaMath/SpecialFunctions.jl) |
| `scipy.linalg.solve` | [LinearSolve](http://linearsolve.sciml.ai/dev/) |
| `scipy.linalg.solve` | [LinearSolve](https://linearsolve.sciml.ai/dev/) |
| `scipy.integrate` | [Integrals](https://docs.sciml.ai/Integrals/stable/) |
| `scipy.optimize` | [Optimization](https://optimization.sciml.ai/) |
| `scipy.optimize.fsolve` | [NonlinearSolve](https://nonlinearsolve.sciml.ai/) |
Expand All @@ -71,7 +71,7 @@ The following chart will help you get quickly acquainted with Julia's SciML Tool
| `scipy.sparse` | [SparseArrays](https://docs.julialang.org/en/v1/stdlib/SparseArrays/#Sparse-Arrays), [ARPACK](https://github.com/JuliaLinearAlgebra/Arpack.jl) |
| `odeint`/`solve_ivp` | [DifferentialEquations](https://diffeq.sciml.ai/latest/) |
| `scipy.integrate.solve_bvp` | [Boundary-value problem](https://diffeq.sciml.ai/latest/tutorials/bvp_example/#Boundary-Value-Problems) |
| PyTorch | [Flux](https://fluxml.ai/), [Lux](http://lux.csail.mit.edu/stable/) |
| PyTorch | [Flux](https://fluxml.ai/), [Lux](https://lux.csail.mit.edu/stable/) |
| gillespy2 | [Catalyst](https://catalyst.sciml.ai/dev/), [JumpProcesses](https://github.com/SciML/JumpProcesses.jl) |
| scipy.optimize.approx_fprime | [FiniteDiff](https://github.com/JuliaDiff/FiniteDiff.jl) |
| autograd | [ForwardDiff\*](https://github.com/JuliaDiff/ForwardDiff.jl), [Enzyme\*](https://github.com/EnzymeAD/Enzyme.jl), [DiffEqSensitivity](https://sensitivity.sciml.ai/dev/) |
Expand Down
4 changes: 2 additions & 2 deletions docs/src/getting_started/find_root.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ prob = NonlinearProblem(ns, [])
sol = solve(prob, NewtonRaphson())

# Analyze the solution
@show sol[[x,y,z]], sol.resid
@show sol[[x, y, z]], sol.resid
```

## Step-by-Step Solution
Expand Down Expand Up @@ -178,5 +178,5 @@ We can check it as follows:

```@example first_rootfind
# Analyze the solution
@show sol[[x,y,z]], sol.resid
@show sol[[x, y, z]], sol.resid
```
15 changes: 8 additions & 7 deletions docs/src/getting_started/first_optimization.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ Let's solve our first optimization problem!

The following parts of the SciML Ecosystem will be used in this tutorial:

| Module | Description |
|:---------------------------------------------------------------------------------------------- |:---------------------------------- |
| [Optimization.jl](https://docs.sciml.ai/Optimization/stable/) | The numerical optimization package |
| [OptimizationNLopt.jl](https://docs.sciml.ai/Optimization/stable/optimization_packages/nlopt/) | The NLopt optimizers we will use |
| [ForwardDiff.jl](https://docs.sciml.ai/Optimization/stable/API/optimization_function/#Optimization.AutoForwardDiff) | The automatic differentiation library for gradients |
| Module | Description |
|:------------------------------------------------------------------------------------------------------------------- |:--------------------------------------------------- |
| [Optimization.jl](https://docs.sciml.ai/Optimization/stable/) | The numerical optimization package |
| [OptimizationNLopt.jl](https://docs.sciml.ai/Optimization/stable/optimization_packages/nlopt/) | The NLopt optimizers we will use |
| [ForwardDiff.jl](https://docs.sciml.ai/Optimization/stable/API/optimization_function/#Optimization.AutoForwardDiff) | The automatic differentiation library for gradients |

## Problem Setup

Expand Down Expand Up @@ -68,9 +68,9 @@ To do this tutorial, we will need a few components:

- [Optimization.jl](https://docs.sciml.ai/Optimization/stable/), the optimization interface.
- [OptimizationNLopt.jl](https://docs.sciml.ai/Optimization/stable/optimization_packages/nlopt/), the optimizers we will use.
- [ForwardDiff.jl](https://docs.sciml.ai/Optimization/stable/API/optimization_function/#Optimization.AutoForwardDiff),
- [ForwardDiff.jl](https://docs.sciml.ai/Optimization/stable/API/optimization_function/#Optimization.AutoForwardDiff),
the automatic differentiation library for gradients

Note that Optimization.jl is an interface for optimizers, and thus we always have to choose
which optimizer we want to use. Here we choose to demonstrate `OptimizationNLopt` because
of its efficiency and versatility. But there are many other possible choices. Check out
Expand Down Expand Up @@ -102,6 +102,7 @@ parameters, and write out the loss function on a vector-defined state as follows
# Define the problem to optimize
L(u, p) = (p[1] - u[1])^2 + p[2] * (u[2] - u[1]^2)^2
```

Next we need to create an `OptimizationFunction` where we tell Optimization.jl to use the ForwardDiff.jl
package for creating the gradient and other derivatives required by the optimizer.

Expand Down
6 changes: 3 additions & 3 deletions docs/src/getting_started/first_simulation.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,9 +173,9 @@ to represent an `ODESystem` with the following:
@mtkbuild sys = ODESystem(eqs, t)
```

Notice that in our equations we have an algebraic equation `z ~ x + y`. This is not a
differential equation but an algebraic equation, and thus we call this set of equations a
Differential-Algebraic Equation (DAE). The symbolic system of ModelingToolkit can eliminate
Notice that in our equations we have an algebraic equation `z ~ x + y`. This is not a
differential equation but an algebraic equation, and thus we call this set of equations a
Differential-Algebraic Equation (DAE). The symbolic system of ModelingToolkit can eliminate
such equations to return simpler forms to numerically approximate.

Notice that what is returned is an `ODESystem`, but now with the simplified set of
Expand Down
Loading