Skip to content

LS-Prior UQ at KIT

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

Installation

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

Usage

Under Usage, we provide walkthroughs of the functionalities of LS-Prior. The Component Interface tutorial describes the flexible low-level interface of the package. Builder Interface demonstrates how to quickly set up pre-configured prior distributions using LS-Prior's builder module.

API Reference

The API reference contains detailed explanations of all software components of LS-Prior, and how to use them.

Examples

We provide runnable examples in our Github repository.

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.