simpeg.regularization.LinearCorrespondence#
- class simpeg.regularization.LinearCorrespondence(mesh, wire_map, coefficients=None, **kwargs)[source]#
Bases:
BaseSimilarityMeasure
Linear correspondence regularization for joint inversion with two physical properties.
LinearCorrespondence
is used to recover a model where the differences between the model parameter values for two physical property types are minimal.LinearCorrespondence
can also be used to minimize the squared L2-norm of a linear combination of model parameters for two physical property types. See the Notes section for a comprehensive description.- Parameters:
- mesh
simpeg.regularization.RegularizationMesh
,discretize.base.BaseMesh
Mesh on which the regularization is discretized. This is not necessarily the same as the mesh on which the simulation is defined.
- active_cells
None
, (n_cells
, )numpy.ndarray
of
bool Boolean array defining the set of
RegularizationMesh
cells that are active in the inversion. IfNone
, all cells are active.- wire_map
simpeg.maps.Wires
Wire map connecting physical properties defined on active cells of the
RegularizationMesh`
to the entire model.- coefficients
None
, (3)numpy.ndarray
of
float
Coefficients \(\{ \lambda_1, \lambda_2, \lambda_3 \}\) for the linear relationship between model parameters. If
None
, the coefficients are set to \(\{ 1, -1, 0 \}\).
- mesh
Attributes
Weighting matrix.
Active cells defined on the regularization mesh.
Deprecated property for 'volume' and user defined weights.
Coefficients for the linear relationship between model parameters.
active_cells.indActive has been deprecated.
Mapping from the inversion model parameters to the regularization mesh.
The model parameters.
reference_model.mref has been deprecated.
Number of model parameters.
The parent objective function
Reference model.
regularization_mesh.regmesh has been deprecated.
Regularization mesh.
Units for the model parameters.
Return the keys for the existing cell weights
Mapping from model to physical properties defined on the regularization mesh.
Methods
__call__
(model)Evaluate the regularization function for the model provided.
deriv
(model)Gradient of the regularization function evaluated for the model provided.
deriv2
(model[, v])Hessian of the regularization function evaluated for the model provided.
f_m
(m)Not implemented for
BaseRegularization
class.f_m_deriv
(m)Not implemented for
BaseRegularization
class.get_weights
(key)Cell weights for a given key.
map_class
alias of
IdentityMap
relation
(model)Computes the relation vector for the model provided.
remove_weights
(key)Removes the weights for the key provided.
set_weights
(**weights)Adds (or updates) the specified weights to the regularization.
test
([x, num, random_seed])Run a convergence test on both the first and second derivatives.
Notes
Let \(\mathbf{m}\) be a discrete model consisting of two physical property types such that:
\[\begin{split}\mathbf{m} = \begin{bmatrix} \mathbf{m_1} \\ \mathbf{m_2} \end{bmatrix}\end{split}\]Where \(\{ \lambda_1 , \lambda_2 , \lambda_3 \}\) define scalar coefficients for a linear combination of vectors \(\mathbf{m_1}\) and \(\mathbf{m_2}\), the regularization function (objective function) is given by:
\[\phi (\mathbf{m}) = \big \| \lambda_1 \mathbf{m_1} + \lambda_2 \mathbf{m_2} + \lambda_3 \big \|^2\]Scalar coefficients \(\{ \lambda_1 , \lambda_2 , \lambda_3 \}\) are set using the coefficients property. For a true linear correspondence constraint, we set \(\{ \lambda_1 , \lambda_2 , \lambda_3 \}\) to \(\{ 1, -1, 0 \}\).