Skip to content

Releases: pnkraemer/probdiffeq

v0.5.1

15 Oct 07:49
071ddc1
Compare
Choose a tag to compare

What's Changed

  • Add the citation information for solve_and_save_at by @pnkraemer in #783

Full Changelog: v0.5.0...v0.5.1

v0.5.0

14 Oct 14:14
938447a
Compare
Choose a tag to compare

What's Changed

  • Condense the directory structure of probdiffeq.impl by @pnkraemer in #764
  • Move the Conditional type from util.cond_util to impl._conditional by @pnkraemer in #765
  • Delete the changelog because it hasn't been used by @pnkraemer in #766
  • Move content of impl.variable to impl.stats by @pnkraemer in #767
  • Move the content of util.ibm_util to impl.ssm_util because it is only used there (and not public API) by @pnkraemer in #768
  • Move probdiffeq.impl methods around to improve independence by @pnkraemer in #769
  • Replace tests.setup with a pytest fixture by @pnkraemer in #770
  • Implement a custom JVP for triangularisation for qr(..., mode="r") to remove a hacky conditional by @pnkraemer in #771
  • Remove the *.t property from the adaptive state because it contains two time-points, not one by @pnkraemer in #772
  • Rename *_right_corner to interpolate/extract_at_t1 to clarify that it implements a special case of extract/interpolate by @pnkraemer in #773
  • Make the InterpRes into a dataclass and rename the fields to improve clarity by @pnkraemer in #774
  • Delete an unused function by @pnkraemer in #775
  • Internals: Make the constructors in ivpsolvers.py more functional by @pnkraemer in #776
  • Internals: Stop accessing solver.strategy.extrapolation.num_derivatives inside ivpsolve.py by @pnkraemer in #777
  • Internals: stop registering controllers as Pytrees since controllers are parameter-free by @pnkraemer in #778
  • Internals: Implement the uncalibrated solver via the calibrated solver with empty calibration by @pnkraemer in #779
  • Internal: Delete unused code by @pnkraemer in #780
  • Make clip/no-clip an argument to the controllers to reduce code duplication by @pnkraemer in #781
  • Clarify methods' namespaces in ivpsolve.py by @pnkraemer in #782

Full Changelog: v0.4.1...v0.5.0

v0.4.1

13 Jun 11:07
bd08a9a
Compare
Choose a tag to compare

This release contains a small bug fix regarding probdiffeq's dependencies. See #762 for context.

What's Changed

  • Use local imports in backend.ode to avoid diffeqzoo & diffrax dependencies by @pnkraemer in #763

Full Changelog: v0.4.0...v0.4.1

v0.4.0

13 Jun 10:08
13c41fd
Compare
Choose a tag to compare

This release is a slightly bigger deal than the previous ones because it regroups probdiffeq's API and significantly reduces the number of required imports. This should lead to a much more pleasant user experience. This release breaks existing code.

What has changed?

TL;DR: closely related modules have been merged, and some functions have a new name (required by these merges); consult the API docs (https://pnkraemer.github.io/probdiffeq/). See #747 for context. All renamings and reorderings improve the clarity of the code.

Probdiffeq's content/functionality remains the same as before the change, so after updating the imports, all code should run as before. If not, reach out!

What's Changed

  • Make the doc-build strict to undo an accidental change from an earlier commit by @pnkraemer in #743
  • Move all content of probdiffeq.control to probdiffeq.adaptive by @pnkraemer in #745
  • Move the content of probdiffeq.timestep to probdiffeq.ivpsolve because they are always used together by @pnkraemer in #746
  • Delete the timestep.py module because it should have been deleted in a previous PR by @pnkraemer in #749
  • Move discrete filters to util to separate them from the ODE solver strategies by @pnkraemer in #748
  • Regroup solvers.uncalibrated and solvers.calibrated in solvers.solvers because they share a lot of code by @pnkraemer in #750
  • Move strategies from package to module since they share most code by @pnkraemer in #751
  • Remove the kwargs from jnp.reshape for compatibility with older JAX versions by @pnkraemer in #752
  • Move solver-components from package to a single module because we always need one of each by @pnkraemer in #753
  • Correct the quickstart-link in the readme by @pnkraemer in #754
  • Combine solvers.markov and solvers.solution because they are closely related by @pnkraemer in #755
  • Move strategies to components to clarify the solver-construction by @pnkraemer in #756
  • Move the content of adaptive to ivpsolve because they are always used together by @pnkraemer in #757
  • Combine solvers and components to clarify how to build an ODE solver by @pnkraemer in #758
  • Hide markov_rescale_cholesky because it is only used inside calibrate() and should not be user-facing by @pnkraemer in #759
  • Add citation information to the readme by @pnkraemer in #761
  • Regroup the content of the taylor-subpackage in a taylor-module by @pnkraemer in #760

Full Changelog: v0.3.4...v0.4.0

v0.3.4

10 Jun 08:17
370ea81
Compare
Choose a tag to compare

This release fixes some issues that arised because dependencies had API changes.
The only user-facing difference is that deprecation warnings have been removed. See the changelog below for information.

What's Changed

  • Update the jax.config usage to adhere to the new API and fix the doc-build by @pnkraemer in #741
  • Rename the input to jnp.reshape to adhere to the new API by @pnkraemer in #740
  • Update the pre-commit hook (and fix deprecations) to modernise the CI by @pnkraemer in #742

Full Changelog: v0.3.3...v0.3.4

v0.3.3

29 Dec 13:02
37f9bd2
Compare
Choose a tag to compare

This release mostly affects Probdiffeq's internals. The only user-facing change is that now, the choice of while-loop in the solution routines can be temporarily overwritten. One application is constructing reverse-mode differentiable yet adaptive IVP solvers. Consult the tutorials for an example.

What's Changed

Full Changelog: v0.3.2...v0.3.3

v0.3.2

20 Nov 09:29
41c7d0c
Compare
Choose a tag to compare

What's Changed

  • Include IVP solution in HIRES benchmark-plot by @pnkraemer in #670
  • Update other plots in benchmarks to be consistent with Hires by @pnkraemer in #671
  • Split notebook utilities in "style" and "size"-type functions by @pnkraemer in #672
  • Revise the linter toolchain by @pnkraemer in #673
  • Switch updating time stamp to update with time stamp after predicting by @lahramon in #678

New Contributors

Full Changelog: v0.3.1...v0.3.2

v0.3.1

24 Oct 14:40
bc35396
Compare
Choose a tag to compare

What's Changed

  • Fix Cholesky-utility-gradients for zero covariances by @pnkraemer in #669

Full Changelog: v0.3.0...v0.3.1

v0.3.0

05 Oct 11:23
1d91090
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.2.2...v0.3.0

v0.2.2

04 Oct 08:38
6b3f32f
Compare
Choose a tag to compare

The last PyPi-publishing workflow failed unexpectedly, so let's try it again.

What's Changed

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