Fast Gaussian Process Computation Using Vecchia's Approximation

Functions for fitting and doing predictions with Gaussian process models using Vecchia's (1988) approximation. Package also includes functions for reordering input locations, finding ordered nearest neighbors (with help from 'FNN' package), grouping operations, and conditional simulations. Covariance functions for spatial and spatial-temporal data on Euclidean domains and spheres are provided. The original approximation is due to Vecchia (1988) <>, and the reordering and grouping methods are from Guinness (2018) . Model fitting employs a Fisher scoring algorithm described in Guinness (2019) .

GpGp is an R package for fast approximate Gaussian process computation. The package includes implementations of the Vecchia's (1988) original approximation, as well as several updates to it, including the reordered and grouped versions of the approximation outlined in Guinness (2018).


The package can be installed from CRAN with the usual R command


or directly from Github for the latest version


We always recommend using multithreaded linear algebra libraries in R, but for this package in particular, using multithreaded libraries can have a big impact on performance. On a Mac, there is a very simple way to link to the Apple Accelerate Framework. On PC and Linux, it's more complicated, but you can use Microsoft R Open instead, which comes automatically with multithreaded libraries.

Basic Use

See the vignettes directory for examples using the package. The file vignette_likelihood.R shows how to use the low-level functions to reorder, find neighbors, group, and calculate likelihoods. The file vignette_windspeed.R shows an analysis of spatial-temporal windspeed data using higher-level functions (i.e. more automation).


GpGp 0.1.1

This is a minor release fixing numerical stability problems that arise during optimization of the likelihood.

  • Added a check in each of the proflik_mean* functions to avoid inverting the information matrix when it is numerically singular.

  • Changed the default number of Nelder-Mead iterations in fit_model to 100

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.4.0 by Joseph Guinness, 4 months ago

Browse source code at

Authors: Joseph Guinness [aut, cre] , Matthias Katzfuss [aut] , Youssef Fahmy [aut]

Documentation:   PDF Manual  

MIT + file LICENSE license

Imports Rcpp, FNN

Suggests fields, knitr, rmarkdown, testthat, maps, maptools

Linking to Rcpp, RcppArmadillo, BH

Imported by GPvecchia.

See at CRAN