# About SIPPI

SIPPI is a MATLAB toolbox (compatible with GNU Octave) that been been developed in order solve probabilistically formulated inverse problems (Tarantola and Valette, 1982; Tarantola, 2005) where the solution is the a posteriori probability density

$\rho(\mathbf{m}) \ = \ k \ \rho(\mathbf{m}) \ L(g(\mathbf{m})),$

where $g(\mathbf{m})$ refer to the forward model, $\rho(\mathbf{m})$ the a priori model, and $L(g(\mathbf{m}))$ the likelihood.

SIPPI allow sampling the a posteriori probability density (Mosegaard and Tarantola, 1995) in case the forward model is non-linear, and in case using a combination of a number of widely used geostatistical methods to describe a priori information (Hansen el al., 2012).

In order to make use of SIPPI one has to

Install and setup SIPPI.

Define the prior model, $\rho(\mathbf{m})$, in form of the

`prior`

data structure.Define the forward model, $g(\mathbf{m})$, in form of the

`forward`

data structure, and the`sippi_forward.m`

m-file.Define the data and noise model, i.e. the likelihood $L(g(\mathbf{m}))$, in form of the

`data`

structure.Choose a method for sampling the a posteriori probability density (i.e. the solution to the inverse problem).

### Implemented methods and algorithms

A number of different a priori models are available: UNIFORM, GAUSSIAN, FFTMA, CHOLESKY, VISIM, PLURIGAUSSIAN, VORONOI, MPS, SNESIM.

A number of forward solvers is implented: LINEAR (linear forward operator) , TRAVELTIME (ray, fat, eikonal, born), GPR_FW (full waveform modeling).

Three methods exist that allow sampling the a posterior probability density: extended Rejection sampling, extended Metropolis sampling, and linear least squares.

## Getting started

The best way to learn to use SIPPI is by going through some examples:

Lineftting example: A simple low-dimensional inverse problem.

GPR cross hole tomography: A more complexe inverse problem illustrating most uses of SIPPI.

## Referencing

Two manuscripts exist describing SIPPI. Part I, is a general introduction on how to setup and use SIPPI. Part II, is an example of using SIPPI to solve cross hole GPR inverse problems (see example):

Hansen, T. M., Cordua, K. S., Looms, M. C., & Mosegaard, K. (2013). SIPPI: A Matlab toolbox for sampling the solution to inverse problems with complex prior information: Part 1 — Methodology. Computers & Geosciences, 52, 470-480.

DOI:10.1016/j.cageo.2012.09.004.Hansen, T. M., Cordua, K. S., Looms, M. C., & Mosegaard, K. (2013). SIPPI: A Matlab toolbox for sampling the solution to inverse problems with complex prior information: Part 2 — Application to crosshole GPR tomography. Computers & Geosciences, 52, 481-492.

DOI:10.1016/j.cageo.2012.09.001.

The key idea that allow using complex a priori models, referred to as 'sequential Gibbs sampling' is described in detail in

Hansen, T. M., Cordua, K. S., & Mosegaard, K. (2012). Inverse problems with non-trivial priors: Efficient solution through sequential Gibbs sampling. Computational Geosciences, 16(3), 593-611.

DOI:

doi:10.1007/s10596-011-9271-1

References to other manuscript considered/used in SIPPI is listed in the Bibliography.

# Acknowledgement

SIPPI make use of other open software projects such as :

- mGstat : http://mgstat.sourceforge.net
- MPSLib: https://github.com/ergosimulation/mpslib
- VISIM : http://imgp.nbi.ku.dk/visim.php
- Accurate Fast Marching Matlab toolbox : http://www.mathworks.com/matlabcentral/fileexchange/24531-accurate-fast-marching

Codes and theory has been developed by the Inverse Modeling and Geostatistics Project