Skip to content

Releases: patrick-kidger/diffrax

Diffrax v0.2.2

15 Nov 18:39
ea1bdc9

Choose a tag to compare

Performance improvements

  • Now make fewer vector field traces in several cases (#172, #174)

Fixes

  • Many documentation improvements.
  • Fixed several warnings about jax.{tree_map,tree_leaves,...} being moved to jax.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

Full Changelog: v0.2.1...v0.2.2

Diffrax v0.2.1

03 Aug 22:59
7548c49

Choose a tag to compare

Autogenerated release notes as follows:

What's Changed

New Contributors

Full Changelog: v0.2.0...v0.2.1

Diffrax v0.2.0

20 Jul 19:50
115997e

Choose a tag to compare

  • 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 like Kvaerno3 etc.) 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 is scan_stages=False for all solvers, but this default might change in the future.
  • Various documentation improvements.

New Contributors

Full Changelog: v0.1.2...v0.2.0

Diffrax v0.1.2

18 May 21:14
997d0e3

Choose a tag to compare

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

New Contributors

Full Changelog: v0.1.1...v0.1.2

Diffrax v0.1.1

07 Apr 20:32
331247a

Choose a tag to compare

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

New Contributors

Full Changelog: v0.1.0...v0.1.1

Diffrax v0.1.0

30 Mar 23:12
f29ef7c

Choose a tag to compare

Autogenerated release notes as follows:

What's Changed

Full Changelog: v0.0.6...v0.1.0

Diffrax v0.0.6

29 Mar 16:59
ddc6438

Choose a tag to compare

Autogenerated release notes as follows:

What's Changed

Full Changelog: v0.0.5...v0.0.6

Diffrax v0.0.5

21 Mar 09:19
5267de2

Choose a tag to compare

Autogenerated release notes as follows:

What's Changed

Full Changelog: v0.0.4...v0.0.5

Diffrax v0.0.4

06 Mar 13:13
1bb90b4

Choose a tag to compare

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