The nuts and bolts BDF solver
Users won’t use this directly if they aren’t defining their own BDF
Used as a common struct for the specific implementations
The solver for any BDF predictor-corrector
Users should not use this type directly, and should
instead get it from a specific BDF method struct
(wrapped in an IVPIterator)
This trait defines an BDF solver
The BDF struct takes an implemetation of this trait
as a type argument since the algorithm is the same for
all the orders, just the constants are different.