simpeg.regularization.AmplitudeSmallness.f_m_deriv#

AmplitudeSmallness.f_m_deriv(m)[source]#

Derivative of the regularization kernel function.

For Smallness regularization, the derivative of the regularization kernel function with respect to the model is given by:

\[\frac{\partial \mathbf{f_m}}{\partial \mathbf{m}} = \frac{\partial \mu(\mathbf{m})}{\partial \mathbf{m}}\]

where \(\mu\) is the mapping function. If the mapping is the identity function (\(\mu(\mathbf{m}) = \mathbf{m}\)) then the derivative of the kernel function is the is the identity matrix \(\mathbf{I}\):

\[\frac{\partial \mathbf{f_m}}{\partial \mathbf{m}} = \mathbf{I}\]
Parameters:
mnumpy.ndarray

The model.

Returns:
scipy.sparse.csr_matrix

The derivative of the regularization kernel function.

Notes

The objective function for smallness regularization is given by:

\[\phi_m (\mathbf{m}) = \left\lVert \mathbf{W} \left[ \mu(\mathbf{m}) - \mu(\mathbf{m}^\text{ref}) \right] \right\rVert^2\]

where \(\mathbf{m}\) are the discrete model parameters defined on the mesh (model), \(\mathbf{m}^{(ref)}\) is the reference model, \(\mu\) is the mapping function, and \(\mathbf{W}\) is the weighting matrix. See the Smallness class documentation for more details.

We define the regularization kernel function \(\mathbf{f_m}\) as:

\[\mathbf{f_m}(\mathbf{m}) = \mu(\mathbf{m}) - \mu(\mathbf{m}^\text{ref})\]

such that

\[\phi_m (\mathbf{m}) = \left\lVert \mathbf{W} \, \mathbf{f_m} \right\rVert^2\]

Thus, the derivative with respect to the model is:

\[\frac{\partial \mathbf{f_m}}{\partial \mathbf{m}} = \frac{\partial \mu(\mathbf{m})}{\partial \mathbf{m}}\]

where \(\mu\) is the mapping function, and \(\mathbf{I}\) is the identity matrix.