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.
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
(here) and
(here).
This could be improved by performing a low-rank update of the inverse when new data are added.