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
.. math::
\rho(\mathbf{m}) \ = \ k \ \rho(\mathbf{m}) \ L(g(\mathbf{m})),
where
.. math:: g(\mathbf{m})
refer to the forward model,
.. math:: \rho(\mathbf{m})
the a priori model, and
.. math:: 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 `__,
.. math:: \rho(\mathbf{m})
, in form of the ``prior`` data structure.
- Define `the forward model `__,
.. math:: 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
.. math:: 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 : https://github.com/cultpenguin/mGstat
- 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 `__