simpeg.regularization.SparseSmoothness.f_m#

SparseSmoothness.f_m(m)[source]#

Evaluate the regularization kernel function.

For first-order smoothness regularization in the x-direction, the regularization kernel function is given by:

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

where \(\mathbf{G_x}\) is the partial cell gradient operator along the x-direction (i.e. x-derivative), \(\mathbf{m}\) are the discrete model parameters defined on the mesh, \(\mathbf{m}^{(ref)}\) is the reference model (optional), and \(\mu\) is the mapping function. Similarly for smoothness along y and z.

Parameters:
mnumpy.ndarray

The model.

Returns:
numpy.ndarray

The regularization kernel function.

Notes

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

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

where \(\mathbf{m}\) are the discrete model parameters (model), \(\mathbf{m}^\text{ref}\) is the reference model, \(\mathbf{G_x}\) is the partial cell gradient operator along the x-direction (i.e. x-derivative), \(\mu\) is the mapping function, 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} \left[ \mu(\mathbf{m}) - \mu(\mathbf{m}^\text{ref}) \right]\]

such that:

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