# SimPEG.regularization.SmoothnessFirstOrder.f_m_deriv#

SmoothnessFirstOrder.f_m_deriv(m) csr_matrix[source]#

Derivative of the regularization kernel function.

For first-order smoothness regularization in the x-direction, the derivative of the regularization kernel function with respect to the model is given by:

$\frac{\partial \mathbf{f_m}}{\partial \mathbf{m}} = \mathbf{G_x}$

where $$\mathbf{G_x}$$ is the partial cell gradient operator along x (i.e. the x-derivative).

Parameters:
mnumpy.ndarray

The model.

Returns:
scipy.sparse.csr_matrix

The derivative of the regularization kernel function.

Notes

The objective function for first-order smoothness regularization along the x-direction is given by:

$\phi_m (\mathbf{m}) = \frac{1}{2} \Big \| \mathbf{W G_x} \big [ \mathbf{m} - \mathbf{m}^{(ref)} \big ] \Big \|^2$

where $$\mathbf{m}$$ are the discrete model parameters (model), $$\mathbf{m}^{(ref)}$$ is the reference model, $$\mathbf{G_x}$$ is the partial cell gradient operator along the x-direction (i.e. x-derivative), and $$\mathbf{W}$$ is the weighting matrix. Similar for smoothness along y and z. See the SmoothnessFirstOrder class documentation for more detail.

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

$\mathbf{f_m}(\mathbf{m}) = \mathbf{G_x} \big [ \mathbf{m} - \mathbf{m}^{(ref)} \big ]$

such that

$\phi_m (\mathbf{m}) = \frac{1}{2} \Big \| \mathbf{W \, f_m} \Big \|^2$

The derivative with respect to the model is therefore:

$\frac{\partial \mathbf{f_m}}{\partial \mathbf{m}} = \mathbf{G_x}$