Updated a month ago


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

<math><semantics><mrow><mi>ρ</mi><mo>(</mo><mrow><mi mathvariant="bold">m</mi></mrow><mo>)</mo><mtext> </mtext><mo>=</mo><mtext> </mtext><mi>k</mi><mtext> </mtext><mi>ρ</mi><mo>(</mo><mrow><mi mathvariant="bold">m</mi></mrow><mo>)</mo><mtext> </mtext><mi>L</mi><mo>(</mo><mi>g</mi><mo>(</mo><mrow><mi mathvariant="bold">m</mi></mrow><mo>)</mo><mo>)</mo><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex"> \rho(\mathbf{m}) \ = \ k \ \rho(\mathbf{m}) \ L(g(\mathbf{m})), </annotation></semantics></math>ρ(m) = k ρ(m) L(g(m)),

where <math><semantics><mrow><mi>g</mi><mo>(</mo><mrow><mi mathvariant="bold">m</mi></mrow><mo>)</mo></mrow><annotation encoding="application/x-tex">g(\mathbf{m})</annotation></semantics></math>g(m) refer to the forward model, <math><semantics><mrow><mi>ρ</mi><mo>(</mo><mrow><mi mathvariant="bold">m</mi></mrow><mo>)</mo></mrow><annotation encoding="application/x-tex">\rho(\mathbf{m})</annotation></semantics></math>ρ(m) the a priori model, and <math><semantics><mrow><mi>L</mi><mo>(</mo><mi>g</mi><mo>(</mo><mrow><mi mathvariant="bold">m</mi></mrow><mo>)</mo><mo>)</mo></mrow><annotation encoding="application/x-tex">L(g(\mathbf{m}))</annotation></semantics></math>L(g(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, <math><semantics><mrow><mi>ρ</mi><mo>(</mo><mrow><mi mathvariant="bold">m</mi></mrow><mo>)</mo></mrow><annotation encoding="application/x-tex">\rho(\mathbf{m})</annotation></semantics></math>ρ(m), in form of the prior data structure.

  • Define the forward model, <math><semantics><mrow><mi>g</mi><mo>(</mo><mrow><mi mathvariant="bold">m</mi></mrow><mo>)</mo></mrow><annotation encoding="application/x-tex">g(\mathbf{m})</annotation></semantics></math>g(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 <math><semantics><mrow><mi>L</mi><mo>(</mo><mi>g</mi><mo>(</mo><mrow><mi mathvariant="bold">m</mi></mrow><mo>)</mo><mo>)</mo></mrow><annotation encoding="application/x-tex">L(g(\mathbf{m}))</annotation></semantics></math>L(g(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:


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.

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.

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.

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


SIPPI make use of other open software projects such as :

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