simpeg.maps.InjectActiveCells.deriv#

InjectActiveCells.deriv(m, v=None)[source]#

Derivative of the mapping with respect to the input parameters.

For a discrete set of model parameters \(\mathbf{m}\) defined on a set of active cells, the mapping \(\mathbf{u}(\mathbf{m})\) is defined as:

\[\mathbf{u}(\mathbf{m}) = \mathbf{Pm} + \mathbf{d} \, m_\perp\]

where \(\mathbf{P}\) is a (nC , nP) projection matrix from active cells to all mesh cells, and \(\mathbf{d}\) is a (nC , 1) matrix that projects the inactive cell value \(m_\perp\) to all inactive mesh cells.

the deriv method returns the derivative of \(\mathbf{u}\) with respect to the model parameters; i.e.:

\[\frac{\partial \mathbf{u}}{\partial \mathbf{m}} = \mathbf{P}\]

Note that in this case, deriv simply returns a sparse projection matrix.

Parameters:
m(nP) numpy.ndarray

A vector representing a set of model parameters

v(nP) numpy.ndarray

If not None, the method returns the derivative times the vector v

Returns:
scipy.sparse.csr_matrix

Derivative of the mapping with respect to the model parameters. If the input argument v is not None, the method returns the derivative times the vector v.