SimPEG.regularization.SparseSmallness.update_weights#
- SparseSmallness.update_weights(m)[source]#
Update the IRLS weights for sparse smallness regularization.
- Parameters:
- m
numpy.ndarray
The model used to update the IRLS weights.
- m
Notes
For the model
provided, the regularization kernel function for sparse smallness is given by:where
is the reference model; seeSmallness.f_m()
for a more comprehensive definition.The IRLS weights are computed via:
where
represents elementwise division, is a small constant added for stability of the algorithm (set using the irls_threshold property), and defines the norm for each cell (defined using the norm property). applies optional scaling to the IRLS weights (when the irls_scaled property isTrue
). The scaling acts to preserve the balance between the data misfit and the components of the regularization based on the derivative of the l2-norm measure. And it assists the convergence by ensuring the model does not deviate aggressively from the global 2-norm solution during the first few IRLS iterations.To compute the scaling, let
and define a vector array
such that:The scaling quantity
is: