Skip to content

Commit 8055b3a

Browse files
Merge pull request #167 from ChrisRackauckas-Claude/docs-improvements-20260101-041716
Documentation improvements: Fix typos, grammar, and update links
2 parents 7c5aa31 + 4ce3564 commit 8055b3a

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

README.md

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
[![CI](https://github.com/SciML/diffeqpy/workflows/CI/badge.svg)](https://github.com/SciML/diffeqpy/actions)
55

66
diffeqpy is a package for solving differential equations in Python. It utilizes
7-
[DifferentialEquations.jl](http://diffeq.sciml.ai/dev/) for its core routines
7+
[DifferentialEquations.jl](https://docs.sciml.ai/DiffEqDocs/stable/) for its core routines
88
to give high performance solving of many different types of differential equations,
99
including:
1010

@@ -33,7 +33,7 @@ pip install diffeqpy
3333

3434
and you're good!
3535

36-
## Collab Notebook Examples
36+
## Colab Notebook Examples
3737

3838
- [Solving the Lorenz equation faster than SciPy+Numba](https://colab.research.google.com/drive/1SQCu1puMQO01i3oMg0TXfa1uf7BqgsEW?usp=sharing)
3939
- [Solving ODEs on GPUs Fast in Python with diffeqpy](https://colab.research.google.com/drive/1bnQMdNvg0AL-LyPcXBiH10jBij5QUmtY?usp=sharing)
@@ -45,12 +45,12 @@ Import and setup the solvers available in *DifferentialEquations.jl* via the com
4545
```py
4646
from diffeqpy import de
4747
```
48-
In case only the solvers available in *OrdinaryDiffEq.jl* are required then use the command:
48+
If only the solvers available in *OrdinaryDiffEq.jl* are required, then use the command:
4949
```py
5050
from diffeqpy import ode
5151
```
5252
The general flow for using the package is to follow exactly as would be done
53-
in Julia, except add `de.` or `ode.` in front. Note that `ode.` has lesser loading time and a smaller memory footprint compared to `de.`.
53+
in Julia, except add `de.` or `ode.` in front. Note that `ode.` has a shorter loading time and a smaller memory footprint compared to `de.`.
5454
Most of the commands will work without any modification. Thus
5555
[the DifferentialEquations.jl documentation](https://github.com/SciML/DifferentialEquations.jl)
5656
and the [DiffEqTutorials](https://github.com/SciML/DiffEqTutorials.jl)
@@ -59,8 +59,8 @@ translate these docs to Python code.
5959

6060
## Note about !
6161

62-
Python does not allow `!` in function names, so this is also [a limitation of pyjulia](https://pyjulia.readthedocs.io/en/latest/limitations.html#mismatch-in-valid-set-of-identifiers)
63-
To use functions which on the Julia side have a `!`, like `step!`, replace `!` by `_b`, for example:
62+
Python does not allow `!` in function names, so this is also [a limitation of pyjulia](https://pyjulia.readthedocs.io/en/latest/limitations.html#mismatch-in-valid-set-of-identifiers).
63+
To use functions which on the Julia side have a `!`, like `step!`, replace `!` by `_b`. For example:
6464

6565
```py
6666
from diffeqpy import de
@@ -75,7 +75,7 @@ integrator = de.init(prob, de.Tsit5())
7575
de.step_b(integrator)
7676
```
7777

78-
is valid Python code for using [the integrator interface](https://diffeq.sciml.ai/stable/basics/integrator/).
78+
is valid Python code for using [the integrator interface](https://docs.sciml.ai/DiffEqDocs/stable/basics/integrator/).
7979

8080

8181
## Ordinary Differential Equation (ODE) Examples
@@ -95,8 +95,8 @@ sol = de.solve(prob)
9595
```
9696

9797
The solution object is the same as the one described
98-
[in the DiffEq tutorials](http://diffeq.sciml.ai/dev/tutorials/ode_example#Step-3:-Analyzing-the-Solution-1)
99-
and in the [solution handling documentation](http://diffeq.sciml.ai/dev/basics/solution)
98+
[in the DiffEq tutorials](https://docs.sciml.ai/DiffEqDocs/stable/tutorials/ode_example/#Step-3:-Analyzing-the-Solution)
99+
and in the [solution handling documentation](https://docs.sciml.ai/DiffEqDocs/stable/basics/solution/)
100100
(note: the array interface is missing). Thus for example the solution time points
101101
are saved in `sol.t` and the solution values are saved in `sol.u`. Additionally,
102102
the interpolation `sol(t)` gives a continuous solution.
@@ -125,7 +125,7 @@ plt.show()
125125

126126
### Solve commands
127127

128-
The [common interface arguments](http://diffeq.sciml.ai/dev/basics/common_solver_opts)
128+
The [common interface arguments](https://docs.sciml.ai/DiffEqDocs/stable/basics/common_solver_opts/)
129129
can be used to control the solve command. For example, let's use `saveat` to
130130
save the solution at every `t=0.1`, and let's utilize the `Vern9()` 9th order
131131
Runge-Kutta method along with low tolerances `abstol=reltol=1e-10`:
@@ -135,7 +135,7 @@ sol = de.solve(prob,de.Vern9(),saveat=0.1,abstol=1e-10,reltol=1e-10)
135135
```
136136

137137
The set of algorithms for ODEs is described
138-
[at the ODE solvers page](http://diffeq.sciml.ai/dev/solvers/ode_solve).
138+
[at the ODE solvers page](https://docs.sciml.ai/DiffEqDocs/stable/solvers/ode_solve/).
139139

140140
### Compilation with `de.jit` and Julia
141141

@@ -250,7 +250,7 @@ sol = de.solve(prob)
250250

251251
Solving one-dimensonal SDEs `du = f(u,t)dt + g(u,t)dW_t` is like an ODE except
252252
with an extra function for the diffusion (randomness or noise) term. The steps
253-
follow the [SDE tutorial](http://diffeq.sciml.ai/dev/tutorials/sde_example).
253+
follow the [SDE tutorial](https://docs.sciml.ai/DiffEqDocs/stable/tutorials/sde_example/).
254254

255255
```py
256256
def f(u,p,t):
@@ -311,7 +311,7 @@ plt.show()
311311

312312
In many cases you may want to share noise terms across the system. This is
313313
known as non-diagonal noise. The
314-
[DifferentialEquations.jl SDE Tutorial](http://diffeq.sciml.ai/dev/tutorials/sde_example#Example-4:-Systems-of-SDEs-with-Non-Diagonal-Noise-1)
314+
[DifferentialEquations.jl SDE Tutorial](https://docs.sciml.ai/DiffEqDocs/stable/tutorials/sde_example/#Example-4:-Systems-of-SDEs-with-Non-Diagonal-Noise)
315315
explains how the matrix form of the diffusion term corresponds to the
316316
summation style of multiple Wiener processes. Essentially, the row corresponds
317317
to which system the term is applied to, and the column is which noise term.
@@ -388,7 +388,7 @@ sol = de.solve(prob)
388388

389389
![f8](https://user-images.githubusercontent.com/1814174/39089392-e932f012-457a-11e8-9979-c006bcfabf71.png)
390390

391-
and the in-place JIT compiled form:
391+
and the in-place form:
392392

393393
```py
394394
def f(resid,du,u,p,t):
@@ -397,10 +397,11 @@ def f(resid,du,u,p,t):
397397
resid[2] = u[0] + u[1] + u[2] - 1.0
398398

399399
prob = de.DAEProblem(f,du0,u0,tspan,differential_vars=differential_vars)
400-
jit_prob = de.jit(prob) # Error: no method matching matching modelingtoolkitize(::SciMLBase.DAEProblem{...})
401-
sol = de.solve(jit_prob)
400+
sol = de.solve(prob)
402401
```
403402

403+
Note: `de.jit()` is not currently supported for DAE problems.
404+
404405
## Mass Matrices, Sparse Arrays, and More
405406

406407
Mass matrix DAEs, along with many other forms, can be handled by doing an explicit conversion to the Julia types.
@@ -762,7 +763,7 @@ For more information, see [the DiffEqGPU.jl documentation](https://docs.sciml.ai
762763

763764
## Testing
764765

765-
Unit tests can be run by [`tox`](http://tox.readthedocs.io).
766+
Unit tests can be run by [`tox`](https://tox.readthedocs.io).
766767

767768
```sh
768769
tox

0 commit comments

Comments
 (0)