SimPEG.potential_fields.base.BasePFSimulation.Jtvec#

BasePFSimulation.Jtvec(m, v, f=None)[source]#

Compute the Jacobian transpose times a vector for the model provided.

The Jacobian defines the derivative of the predicted data vector with respect to the model parameters. For a data vector \(\mathbf{d}\) predicted for a set of model parameters \(\mathbf{m}\), the Jacobian is an (n_data, n_param) matrix whose elements are given by:

\[J_{ij} = \frac{\partial d_i}{\partial m_j}\]

For a model m and vector v, the Jtvec method computes the matrix-vector product with the adjoint-sensitivity

\[\mathbf{u} = \mathbf{J^T \, v}\]
Parameters:
m(n_param, ) numpy.ndarray

The model parameters.

v(n_data, ) numpy.ndarray

Vector we are multiplying.

fSimPEG.field.Fields, optional

If provided, fields will not need to be recomputed for the current model to compute Jtvec.

Returns:
(n_param, ) numpy.ndarray

The Jacobian transpose times a vector for the model and vector provided.