simpeg.maps.InjectActiveEdges.deriv#

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

Return 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 edges, the mapping \(\mathbf{u}(\mathbf{m})\) is defined as:

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

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

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.