Skip to content

UQatKIT/LS-Prior

Repository files navigation

CI Docs Python Version License Beartype Ruff

Large-Scale Prior Fields via SPDEs

LS-Prior is a python package for large-scale Gaussian prior measures. The implementation is based on the SPDE approach to Gaussian Matérn fields popularized by Lindgren et al.. This work introduces the generation of random fields via transformations of white noise $W$ by an elliptic operator, resembled by equations of the form

$$ \begin{equation*} \tau (\kappa^2 - \Delta)^{\nu/2} = W. \end{equation*} $$

The discrete representation of prior distributions in LS-Prior on computationl meshes is realized through the finite element method with FenicsX. The package is intended to be a more modern, modular, and flexible substitute for the prior component in the hIPPYlib library. In particular, it can be combined with any other component in an inverse problem workflow, without explicit reliance on the internal FEM representation.

Key Features

  • Matrix-free Gaussian prior distributions via SPDE approach
  • FenicsX FEM backend, PETSc linear algebra and solvers
  • Fully MPI parallelized, fully modular
  • Easily embeddable into Bayesian inverse problem workflows

Getting Started

LS-Prior is available as a conda package on Prefix. To install the package, simply run

conda install -c https://repo.prefix.dev/kruse-forge ls-prior

Documentation

The documentation provides further information regarding usage, technical setup and API. Alternatively, you can check out the notebooks under examples

Acknowledgement and License

LS-Prior is being developed in the research group Uncertainty Quantification at KIT. It is distributed as free software under the MIT License. Major portions of the implementation are inspired by the prior implementation of the hIPPYlib library.