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
* Merge IVP-solution modules by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/679
* Remove *.ipynb files from version control by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/680
* Merge linting and formatting behaviour by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/681
* Unify the names of benchmark-related commands in the makefile by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/682
* Include example CI in doc CI by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/683
* Automate readme and index equality by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/684
* Implement backend.control_flow.scan by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/685
* Implement backend.functools.vmap by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/686
* Implement backend.control_flow.cond by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/687
* Implement backend.functools.jit by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/688
* Implement backend.linalg.qr_r by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/689
* Implement backend.random by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/690
* Implement backend.linalg.cholesky_lower by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/691
* Implement backend.numpy factorial by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/692
* Implement backend.functools.jet by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/694
* Implement backend.numpy.arange by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/695
* Implement backend.linalg.{vector, matrix}_norm by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/693
* Implement backend.numpy.ndim by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/696
* Implement backend.tree_util by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/697
* Remove an 'Iterator' type hint by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/698
* Replace a reference to jax.tree_map with tree_util.tree_map by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/700
* Implement backend.numpy.{minimum, maximum} by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/699
* Implement backend.numpy.{where, abs} by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/701
* Implement backend.linalg.solve_triangular by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/702
* Implement backend.numpy.{finfo_eps, diff} by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/703
* Implement backend.numpy.{asarray, squeeze, squeeze_along_axis} by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/704
* Implement backend.linalg.cholesky_solve and rename cholesky_lower to cholesky_factor by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/705
* Implement backend.numpy.{atleast_1d, concatenate} by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/706
* Implement backend.numpy.{ones_like, inf, sqrt} by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/708
* Implement backend.typing.Array by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/707
* Implement backend.numpy.{zeros_like, eye} by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/709
* Replace all remaining jnp.* calls with backend.numpy.* calls by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/710
* Remove unused imports from probdiffeq.taylor subpackage by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/711
* Implement backend.functools.linearize by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/712
* Implement backend numpy block diag by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/713
* Implement backend.functools.jvp by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/714
* Implement backend.containers.dataclass by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/715
* Implement backend.abc by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/716
* Implement backend.itertools by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/717
* Implement remaining types in backend.typing by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/718
* Implement backend.warnings by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/720
* Implement backend.special by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/719
* Implement backend.ode by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/721
* Rename ode.odeint to ode.odeint_and_save_at by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/722
* Implement backend.stats and backend.functools.jacrev by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/723
* Change signature of ode.odeint_and_save_at to be consistent with the rest of probdiffeq by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/724
* Change 'from jax.config import config' to 'import jax.config' by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/725
* Remove remaining 'import jax's by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/727
* Implement backend.ode.odeint_dense by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/726
* Implement backend.warnings.filterwarnings by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/729
* Implement backend.ode.ivp_{logistic, lotka_volterra, ...} by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/728
* Implement backend.config by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/730
* Reorder the quickstart-section of the docs by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/731
* Change tutorial format from .md to .py by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/732
* Delete 'smoothing' example notebook by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/735
* Implement backend.control_flow.context_overwrite_{while_loop, scan} and create a tutorial for using it by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/736
* Remove yield-values from overwrite-loop contexts by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/737
* Warn about the experimental nature of Probdiffeq in its readme, and explain versioning by pnkraemer in https://github.com/pnkraemer/probdiffeq/pull/738
**Full Changelog**: https://github.com/pnkraemer/probdiffeq/compare/v0.3.2...v0.3.3