sammccallum
sammccallum
Re-opening #593. Implements `AbstractReversibleSolver` base class and `ReversibleAdjoint` for reversible back propagation. This updates `SemiImplicitEuler`, `LeapfrogMidpoint` and `ReversibleHeun` to subclass `AbstractReversibleSolver`. ### Implementation `AbstractReversibleSolver` subclasses `AbstractSolver` and adds a `backward_step`...
Fixes sign of `h` in `AbstractSRK`. See #598.
### Description When solving from `t1` to `t0` with `-dt0`, `AbstractSRK` produces an incorrect solution. Here is an example: ```python def drift(t, y, args): a, b = args return -a...