Commit
This commit fixes a number of bugs and also introduces a significant amount of stability fixes for ellipsoidal decomposition to improve behavior in the sparsely-sampled regime and/or the high-dimensional regime. All of these changes have been stress-tested using 50-D to 250-D Gaussians, which have now been added to the examples. A summary of changes is below: Ellipsoids: - Adds in support for computing shrunk covariances from `sklearn.covariance` using the OAS estimator (which is optimal for Gaussian distributions). This resolves #90. - Changes how ellipsoids are computed/initialized so that all linear algebra is done before inverting the covariance matrix. This significantly improves eigenvector/eigenvalue behavior. - The transformation axes are now the cholesky decomposition instead of the principal eigenvectors (and eigenvalues), although those are still stored and used at various stages. This leads to a moderate increase in overhead. - Along with some small changes to how I've implemented `hslice`, this resolves #83. - A number of calculations are now done in log-space rather than in linear space to avoid over/underflows. This resolves #91. Slice sampling: - Fixed sampling issues for `'rslice'` and `'hslice'`. The former now uses proposals from the unit n-sphere; the latter from the n-d standard normal. `'slice'` still uses the principle eigenvectors. utils: - Added `approx` option to `simulate_run` (should've been introduced before). dynamicsampler: - Fixed a bug where the sampler would return bounds (and related quantities) in `sampler.results` even when `save_bounds=False`. As before, bounds are still saved internally from `sample_initial` (since we need them to add batches). demos: - All the demos have been updated! If all goes well, there shouldn't be any more large content updates in the future other than #39.
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -48,3 +48,6 @@ docs/examples | |
|
||
# old files | ||
old/* | ||
|
||
# saved data | ||
demos/*.pkl |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,4 +10,4 @@ | |
from . import utils | ||
|
||
|
||
__version__ = "0.9.1e" | ||
__version__ = "0.9.2" |