Metadata-Version: 2.4
Name: pydiffsol
Version: 0.3.0
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: numpy
Requires-Dist: diffrax ; extra == 'bench'
Requires-Dist: casadi ; extra == 'bench'
Requires-Dist: numpy ; extra == 'bench'
Requires-Dist: pandas ; extra == 'bench'
Requires-Dist: matplotlib ; extra == 'bench'
Requires-Dist: matplotlib ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Provides-Extra: bench
Provides-Extra: dev
License-File: LICENSE
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# pydiffsol

Python bindings for [diffsol](https://github.com/martinjrobins/diffsol)

- **Documentation:** https://pydiffsol.readthedocs.io/en/latest/
- **Source code:** https://github.com/alexallmont/pydiffsol/

## Example usage

```py
import pydiffsol as ds
import numpy as np

ode = ds.Ode(
    """
    r { 1.0 }
    k { 1.0 }
    u { 0.1 }
    F { r * u * (1.0 - u / k) }
    """,
    ds.nalgebra_dense
)

# Solve with default solver for nalgebra_dense (bdf)
p = np.array([])
print(ode.solve(p, 0.4))

# Above defaults to bdf. Try esdirk34 instead
ode.method = ds.esdirk34
print(ode.solve(p, 0.4))
```

