This is a pre-release of major version 2 of SINDY
This pre-release preserves a significant amount of backwards compatibility that
will be removed in 2.0.0.
Internal array structure is made explicit via the
`AxesArray` class. `AxesArray` objects carry axis label attributes, such as
`arr.ax_time`, as well as shape attributes, such as `arr.n_spatial`.
Currently, these attributes are incorrect when slicing, but are preserved in
nearly all other operations.
This release also adds an `EnsemblingOptimizer` class to handle data and library
bagging. While passing ensembling parameters via feature libraries and `SINDy`
objects is still supported, they simply dispatch to an `EnsemblingOptimizer`.
Stable versions of 2.x will remove this backwards compatibility, forcing the
use of the `EnsemblingOptimizer`. In addition, ensembling both data and
library terms creates each ensemble member from one data bag and one library
bag. Previously, each ensemble member came from one library bag and another
ensemble of data bags, which required nested loops and $O(n_{bags}^2)$ run
time.