A package for efficient1 likelihood evaluation and sampling for Multivariate Normal distributions where the covariance matrix:
- Is Separable, i.e. can be expressed as the Kronecker product of the covariance over different dimensions (e.g. space and time);
- May have Exponential correlation (i.e. (block-) tridiagonal precision matrix) in one or more dimensions;
- Is polluted with uncorrelated scalar or vector noise.
base: Base class for problem formulation, taken from taralli. Likely to be removed in a future update.
utils: Utility functions for efficient linear algebra invovling tridiagonal and Kronecker product matrices.
loglikelihood: Functions for efficient loglikelihood evaluation.
kernels: Formulation of commonly used kernels.
sampling: Functions for efficient sampling.
- Validation of all functions against reference implementations.
- Documentation, including examples and timing tests.
- Unit and integration testing.
- Improve this README by including mathematical notation and references.
Footnotes
-
In the general case, exact likelihood evaluation has O(N3) computational complexity and O(N2) memory requirements. The term "efficient" is used here to refer to the reduction of complexity and memory usage by utilizing the sparsity and Kronecker product structure of the covariance matrix. ↩