Skip to content
This repository has been archived by the owner on May 11, 2023. It is now read-only.

dev: Take full advantage of linear operators and kernel computation. #26

Open
daniel-dodd opened this issue Nov 8, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@daniel-dodd
Copy link
Member

Currently, we only take advantage of savings for computing the kernel gram matrix, and computing a gram solve in GP predictions.

We neglect:

  • Efficiency of matrix solves and log-determinants when computing the Gaussian pdf function, or drawing samples (which use a dense lower-Cholesky decomposition) via the current implementation. We do not take full advantage of the matrix structure. At best we can supply a pre-computed Cholesky decomposition to a distrax Multivariate Normal.
  • Structure for KL divergences between two multivariate Gaussians (important for efficiency in SVGP).
  • Memory savings, where we use .to_dense() methods on the linear operator in the codebase.

Suggestion would be to create an abstract Gaussian distribution class with its covariance function defined as a linear operator. We could then define efficient schemes for computing the pdf, sampling and calculating KL divergences.

@daniel-dodd daniel-dodd added the enhancement New feature or request label Nov 8, 2022
@daniel-dodd daniel-dodd self-assigned this Nov 21, 2022
@thomaspinder
Copy link
Collaborator

Can this issue be closed now?

@thomaspinder thomaspinder transferred this issue from JaxGaussianProcesses/GPJax Mar 19, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants