Volcapy: Bayesian Inversion for large scale Geophysical Inverse Problems

(and beyond …)

The Bayesian approach to inverse problem is a well-known and powerful one [Tar05], [Stu10], nevertheless, it fails to scale to large model sizes, since it typically involves convariance matrices of size \(n^2\), where \(n\) is the number of cells used in the model discretization.

The Volcapy library aims at bypassing this memory bottleneck by adapting methods proposed in [WPG+19] to the inverse problem setting. In particular:

  • Lazy representation of covariance matrices

  • Multi-GPU distributed computations

This allows the use of Bayesian inversion techniques with Gaussian Process (GP) priors on inversion grids of sizes bigger than 100k cells.

Set Estimation

Another main goal of the Volcapy package is to propose functionalities for the estimation of excursion sets arising in inverse problems by adapting methods from [CGBM13], [ABCG16], [AGC+16].

These methods use the posterior distribution to identify regions in model space where the target function (the solution to the inverse problem)h might be above some given threshold. That is, if \(u_0\) is the (real) solution to our inverse problem, then we want to estimate

\[\Gamma = \lbrace x \in X: u_0(x) \geq t_0 \rbrace\]

We call such regions excursion set above the threshold. We also provide methods to quantify the uncertainty on the estimated regions.

To summarize, Volcapy provides the following main functionalities

Volcapy Functionalities

Out-of-core matrix-matrix multiplication

Multiply matrices that do not fit in memory.

GPU Inversion

Solve inverse problems on multiple GPUs.

Hyperparameter Optimization

Fit model hyperparameters using maximum likelihood.

Set Estimation

Get cells belonging to the Vorob’ev quantile at a given level, for a given threshold.

More information about the individual module components might be found in the below documentation.


Dario Azzimonti, Julien Bect, Clément Chevalier, and David Ginsbourger. Quantifying uncertainties on excursion sets under a gaussian random field prior. SIAM/ASA Journal on Uncertainty Quantification, 4(1):850–874, 2016.


Dario Azzimonti, David Ginsbourger, Clément Chevalier, Julien Bect, and Yann Richet. Adaptive design of experiments for conservative estimation of excursion sets. 2016. arXiv:1611.07256.


Clément Chevalier, David Ginsbourger, Julien Bect, and Ilya Molchanov. Estimating and quantifying uncertainties on level sets using the vorob’ev expectation and deviation with gaussian process models. In mODa 10–Advances in Model-Oriented Design and Analysis, pages 35–43. Springer, 2013.


A. M. Stuart. Inverse problems: a bayesian perspective. Acta Numerica, 19:451–559, 2010. doi:10.1017/S0962492910000061.


Albert Tarantola. Inverse problem theory and methods for model parameter estimation. Volume 89. siam, 2005.


Ke Alexander Wang, Geoff Pleiss, Jacob R. Gardner, Stephen Tyree, Kilian Q. Weinberger, and Andrew Gordon Wilson. Exact gaussian processes on a million data points. 2019. arXiv:1903.08114.

Indices and tables