Skip to content

gp: efficient low-rank inverse update #118

Description

@asher-m

In Gaussian process kriging, it is necessary to compute the inverse of the quantity $k_{XX} + \sigma I$.

As of 4ec65a0, that quantity is computed as a dense inverse every time the conditioning data are updated and stored in the UncertainSCI/gp subpackage for scalar- and vector-valued Gaussian processes respectively as

self.inv = np.linalg.inv(self.k(x) + sigma * np.eye(len(x)))

(here) and

self.inv = np.linalg.inv(self.k(x) + sigma.flatten() * np.eye(len(x) * self.cdim))

(here).

This could be improved by performing a low-rank update of the inverse when new data are added.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions