simpeg.regularization.LinearCorrespondence#
- class simpeg.regularization.LinearCorrespondence(mesh, wire_map, coefficients=None, **kwargs)[source]#
Bases:
BaseSimilarityMeasureLinear correspondence regularization for joint inversion with two physical properties.
LinearCorrespondenceis used to recover a model where the differences between the model parameter values for two physical property types are minimal.LinearCorrespondencecan 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.ndarrayofbool Boolean array defining the set of
RegularizationMeshcells 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.ndarrayoffloat 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
BaseRegularizationclass.f_m_deriv(m)Not implemented for
BaseRegularizationclass.get_weights(key)Cell weights for a given key.
map_classalias of
IdentityMaprelation(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 \}\).