Releases: patrick-kidger/diffrax
Diffrax v0.2.2
Performance improvements
Fixes
- Many documentation improvements.
- Fixed several warnings about
jax.{tree_map,tree_leaves,...}being moved tojax.tree_util.{tree_map,tree_leaves,...}. (Thanks @jacobusmmsmit!) - Fixed the step size controller choking if the error is ever NaN. (#143, #152)
- Fixed some crashes due to JAX-internal changes (If you've ever seen it throw an error about not knowing how to rewrite
closed_call_p, it's this one.) - Fixed an obscure edge-case NaN on the backward pass, if you were using an implicit solver with an adaptive step size controller, got a rejected step due to the implicit solve failing to converge, and happened to also be backpropagating wrt the
controller_state.
Other
- Added a new Kalman filter example (#159) (Thanks @SimiPixel!)
- Brownian motion classes accept pytrees for shape and dtype arguments (#183) (Thanks @ciupakabra!)
- The main change is an internal refactor: a lot of functionality has moved
diffrax.misc -> equinox.internal.
New Contributors
- @jacobusmmsmit made their first contribution in #149
- @SimiPixel made their first contribution in #159
- @ciupakabra made their first contribution in #183
Full Changelog: v0.2.1...v0.2.2
Diffrax v0.2.1
Autogenerated release notes as follows:
What's Changed
- Made
is_okay,is_successful,is_eventpublic by @patrick-kidger in #134 - Fix implicit adjoints assuming array-valued state by @patrick-kidger in #136
- Replace jax tree manipulation method that are being deprecated with jax.tree_util equivalents by @mahdi-shafiei in #138
- bump version by @patrick-kidger in #141
New Contributors
- @mahdi-shafiei made their first contribution in #138
Full Changelog: v0.2.0...v0.2.1
Diffrax v0.2.0
- Feature: event handling. In particular it is now possible to interrupt a diffeqsolve early. See the events page in the docs and the new steady state example.
- Compilation time improvements:
- The compilation speed of
NewtonNonlinearSolver(and thus in practice also all implicit solvers likeKvaerno3etc.) has been improved (~factor 1.5) - The compilation speed of all Runge--Kutta solvers can be dramatically reduced (~factor 3) by passing e.g.
Dopri5(scan_stages=True). This may increase runtime slightly. At the moment the default isscan_stages=Falsefor all solvers, but this default might change in the future.
- The compilation speed of
- Various documentation improvements.
New Contributors
- @jatentaki made their first contribution in #121
Full Changelog: v0.1.2...v0.2.0
Diffrax v0.1.2
Main change here is a minor technical one - Diffrax will no longer initialise the JAX backend as a side effect of being imported.
Autogenerated release notes as follows:
What's Changed
- Removed explicit jaxlib dependency by @patrick-kidger in #93
- switch error_if to python if (regarding jax-ml/jax/issues/10047) by @amir-saadat in #99
- Doc fixes by @patrick-kidger in #100
- Bump version by @patrick-kidger in #107
New Contributors
- @amir-saadat made their first contribution in #99
Full Changelog: v0.1.1...v0.1.2
Diffrax v0.1.1
Diffrax uses some JAX-internal functionality that will shortly be deprecated in JAX. This release adds the appropriate support for both older and newer versions of JAX.
Autogenerated release notes as follows:
What's Changed
- [JAX] Add MHLO lowerings in preparation for xla.lower_fun() removal by @hawkinsp in #91
- Bump version by @patrick-kidger in #92
New Contributors
Full Changelog: v0.1.0...v0.1.1
Diffrax v0.1.0
Autogenerated release notes as follows:
What's Changed
- Adjusted PIDController by @patrick-kidger in #89
Full Changelog: v0.0.6...v0.1.0
Diffrax v0.0.6
Autogenerated release notes as follows:
What's Changed
- Symbolic regression text by @patrick-kidger in #79
- Fixed edge case infinite loop on stiff-ish problems (+very bad luck) by @patrick-kidger in #86
Full Changelog: v0.0.5...v0.0.6
Diffrax v0.0.5
Autogenerated release notes as follows:
What's Changed
- Doc tweaks by @patrick-kidger in #72
- Added JIT wrapper to stiff ODE example by @patrick-kidger in #75
- Added autoreleases by @patrick-kidger in #78
- Removed overheads from runtime checking when they can be compiled away. by @patrick-kidger in #77
Full Changelog: v0.0.4...v0.0.5
Diffrax v0.0.4
First release using GitHub releases! We'll be using this to serve as a changelog.
As for what has changed since the v0.0.3 release, we'll let the autogenerated release notes do the talking:
What's Changed
- Rewrote RK implementation quite substantially to allow FSAL RK SDE integrators. by @patrick-kidger in #70
Full Changelog: v0.0.3...v0.0.4