simpeg.simulation.LinearSimulation#
- class simpeg.simulation.LinearSimulation(linear_model=None, model_map=None, G=None, **kwargs)[source]#
Bases:
BaseSimulationLinear forward simulation class.
The
LinearSimulationclass is used to define forward simulations of the form:\[\mathbf{d} = \mathbf{G \, f}(\mathbf{m})\]where \(\mathbf{m}\) are the model parameters, \(\mathbf{f}\) is a mapping operator (optional) from the model space to a user-defined parameter space, \(\mathbf{d}\) is the predicted data vector, and \(\mathbf{G}\) is an
(n_data, n_param)linear operator.The
LinearSimulationclass is generally used as a base class that is inherited by other simulation classes within SimPEG. However, it can be used directly as a simulation class if theGproperty is used to set the linear forward operator directly.By default, we assume the mapping operator \(\mathbf{f}\) is the identity map, and that the forward simulation reduces to:
\[\mathbf{d} = \mathbf{G \, m}\]- Parameters:
- model_map
simpeg.maps.BaseMap Mapping from the model parameters to vector that the linear operator acts on.
- G(
n_data,n_param)numpy.ndarrayorscipy.sparse.csr_matrx The linear operator. For a
model_mapthat maps within the same vector space (e.g. the identity map), the dimensionn_paramequals the number of model parameters. If not, the dimensionn_paramof the linear operator will depend on the mapping.
- model_map
Attributes
The linear operator.
A list of solver objects to clean when the model is updated
SimPEG
Counterobject to store iterations and run-times.HasModel.deleteTheseOnModelUpdate has been deprecated.
The model for a linear problem physical property model.
The inversion model.
Derivative of The model for a linear problem wrt the model.
Mapping of the inversion model to The model for a linear problem.
True if a model is necessary
Path to directory where sensitivity file is stored.
The survey for the simulation.
Verbose progress printout.
Methods
Jtvec(m, v[, f])Compute the Jacobian transpose times a vector for the model provided.
Jtvec_approx(m, v[, f])Approximation of the Jacobian transpose times a vector for the model provided.
Jvec(m, v[, f])Compute the Jacobian times a vector for the model provided.
Jvec_approx(m, v[, f])Approximation of the Jacobian times a vector for the model provided.
dpred([m, f])Predicted data for the model provided.
fields(m)Return the computed geophysical fields for the model provided.
getJ(m[, f])Returns the full Jacobian.
make_synthetic_data(m[, relative_error, ...])Make synthetic data for the model and Gaussian noise provided.
residual(m, dobs[, f])The data residual.
Galleries and Tutorials using simpeg.simulation.LinearSimulation#
Petrophysically guided inversion (PGI): Linear example
Petrophysically guided inversion: Joint linear example with nonlinear relationships
Sparse Inversion with Iteratively Re-Weighted Least-Squares
Forward Simulation of Gravity Anomaly Data on a Tensor Mesh
Forward Simulation of Gradiometry Data on a Tree Mesh
Compare weighting strategy with Inversion of surface Gravity Anomaly Data
Forward Simulation of Total Magnetic Intensity Data
Forward Simulation of Gradiometry Data for Magnetic Vector Models
Sparse Norm Inversion for Total Magnetic Intensity Data on a Tensor Mesh
Forward Simulation for Straight Ray Tomography in 2D
Sparse Norm Inversion of 2D Seismic Tomography Data
Cross-gradient Joint Inversion of Gravity and Magnetic Anomaly Data
Joint PGI of Gravity + Magnetic on an Octree mesh using full petrophysical information
Joint PGI of Gravity + Magnetic on an Octree mesh without petrophysical information