simpeg.maps.LogisticSigmoidMap#

class simpeg.maps.LogisticSigmoidMap(mesh=None, nP=None, lower_bound=0, upper_bound=1, **kwargs)[source]#

Bases: IdentityMap

Mapping that computes the logistic sigmoid of the model parameters.

Where \(\mathbf{m}\) is a set of model parameters, LogisticSigmoidMap creates a mapping \(\mathbf{u}(\mathbf{m})\) that computes the logistic sigmoid of every element in \(\mathbf{m}\); i.e.:

\[\mathbf{u}(\mathbf{m}) = sigmoid(\mathbf{m}) = \frac{1}{1+\exp{-\mathbf{m}}}\]

LogisticSigmoidMap transforms values onto the interval (0,1), but can optionally be scaled and shifted to the interval (a,b). This can be useful for inversion of data that varies over a log scale and bounded on some interval:

\[\mathbf{u}(\mathbf{m}) = a + (b - a) \cdot sigmoid(\mathbf{m})\]
Parameters:
meshdiscretize.BaseMesh

The number of parameters accepted by the mapping is set to equal the number of mesh cells.

nPint

Set the number of parameters accepted by the mapping directly. Used if the number of parameters is known. Used generally when the number of parameters is not equal to the number of cells in a mesh.

lower_bound: float or (nP) numpy.ndarray

lower bound (a) for the transform. Default 0. Defined in mathbf{u} space.

upper_bound: float or (nP) numpy.ndarray

upper bound (b) for the transform. Default 1. Defined in mathbf{u} space.

Attributes

is_linear

Determine whether or not this mapping is a linear operation.

lower_bound

The lower bound

mesh

The mesh used for the mapping

nP

Number of parameters the mapping acts on.

shape

Dimensions of the mapping operator

upper_bound

The upper bound

Methods

deriv(m[, v])

Derivative of mapping with respect to the input parameters.

dot(map1)

Multiply two mappings to create a simpeg.maps.ComboMap.

inverse(m)

Apply the inverse of the mapping to an array.

test([m, num, random_seed])

Derivative test for the mapping.