SimPEG.maps.ComboMap#

class SimPEG.maps.ComboMap(maps, **kwargs)[source]#

Bases: SimPEG.maps.IdentityMap

Combination mapping constructed by joining a set of other mappings.

A ComboMap is a single mapping object made by joining a set of basic mapping operations by chaining them together, in order. When creating a ComboMap, the user provides a list of SimPEG mapping objects they wish to join. The order of the mappings in this list is from last to first; i.e. \([\mathbf{f}_n , ... , \mathbf{f}_2 , \mathbf{f}_1]\).

The combination mapping \(\mathbf{u}(\mathbf{m})\) that acts on a set of input model parameters \(\mathbf{m}\) is defined as:

\[\mathbf{u}(\mathbf{m}) = f_n(f_{n-1}(\cdots f_1(f_0(\mathbf{m}))))\]

Note that any time that you create your own combination mapping, be sure to test that the derivative is correct.

Parameters
mapslist of SimPEG.maps.IdentityMap

A list of SimPEG mapping objects. The ordering of the mapping objects in the list is from last applied to first applied!

Examples

Here we create a combination mapping that 1) projects a single scalar to a vector space of length 5, then takes the natural exponent.

>>> import numpy as np
>>> from SimPEG.maps import ExpMap, Projection, ComboMap
>>> nP1 = 1
>>> nP2 = 5
>>> ind = np.zeros(nP1, dtype=int)
>>> projection_map = Projection(nP1, ind)
>>> projection_map.shape
(5, 1)
>>> exp_map = ExpMap(nP=5)
>>> exp_map.shape
(5, 5)

Recall that the order of the mapping objects is from last applied to first applied.

>>> map_list = [exp_map, projection_map]
>>> combo_map = ComboMap(map_list)
>>> combo_map.shape
(5, 1)
>>> m = np.array([2.])
>>> combo_map * m
array([7.3890561, 7.3890561, 7.3890561, 7.3890561, 7.3890561])

Attributes

nP

Number of parameters the mapping acts on.

shape

Dimensions of the mapping.

Methods

deriv(m[, v])

Derivative of the mapping with respect to the input parameters.

Galleries and Tutorials using SimPEG.maps.ComboMap#

Maps: ComboMaps

Maps: ComboMaps

Maps: ComboMaps
3D DC inversion of Dipole Dipole array

3D DC inversion of Dipole Dipole array

3D DC inversion of Dipole Dipole array
2D inversion of Loop-Loop EM Data

2D inversion of Loop-Loop EM Data

2D inversion of Loop-Loop EM Data
Tensor Meshes

Tensor Meshes

Tensor Meshes
Cylindrical Meshes

Cylindrical Meshes

Cylindrical Meshes
Tree Meshes

Tree Meshes

Tree Meshes
Joint PGI of Gravity + Magnetic on an Octree mesh using full petrophysical information

Joint PGI of Gravity + Magnetic on an Octree mesh using full petrophysical information

Joint PGI of Gravity + Magnetic on an Octree mesh using full petrophysical information
Joint PGI of Gravity + Magnetic on an Octree mesh without petrophysical information

Joint PGI of Gravity + Magnetic on an Octree mesh without petrophysical information

Joint PGI of Gravity + Magnetic on an Octree mesh without petrophysical information
2.5D DC Resistivity and IP Least-Squares Inversion

2.5D DC Resistivity and IP Least-Squares Inversion

2.5D DC Resistivity and IP Least-Squares Inversion
3D Least-Squares Inversion of DC and IP Data

3D Least-Squares Inversion of DC and IP Data

3D Least-Squares Inversion of DC and IP Data
Least-Squares 1D Inversion of Sounding Data

Least-Squares 1D Inversion of Sounding Data

Least-Squares 1D Inversion of Sounding Data
Sparse 1D Inversion of Sounding Data

Sparse 1D Inversion of Sounding Data

Sparse 1D Inversion of Sounding Data
Parametric 1D Inversion of Sounding Data

Parametric 1D Inversion of Sounding Data

Parametric 1D Inversion of Sounding Data
2.5D DC Resistivity Least-Squares Inversion

2.5D DC Resistivity Least-Squares Inversion

2.5D DC Resistivity Least-Squares Inversion
2.5D DC Resistivity Inversion with Sparse Norms

2.5D DC Resistivity Inversion with Sparse Norms

2.5D DC Resistivity Inversion with Sparse Norms
3D Least-Squares Inversion of DC Resistivity Data

3D Least-Squares Inversion of DC Resistivity Data

3D Least-Squares Inversion of DC Resistivity Data