Skip to content

Repository files navigation

tripy

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.

Structure

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.

Usage

Usage flowchart

TODOs

  • 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

  1. 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.

About

A package for efficient likelihood evaluation and sampling for Multivariate Normal distributions with structured covariance matrices

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages