SimPEG.simulation.LinearSimulation#

class SimPEG.simulation.LinearSimulation(mesh=None, linear_model=None, model_map=None, G=None, **kwargs)[source]#

Bases: BaseSimulation

Linear forward simulation class.

The LinearSimulation class 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 LinearSimulation class 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 the G property 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:
meshdiscretize.BaseMesh, optional

Mesh on which the forward problem is discretized. This is not necessarily the same as the mesh on which the simulation is defined.

model_mapSimPEG.maps.BaseMap

Mapping from the model parameters to vector that the linear operator acts on.

G(n_data, n_param) numpy.ndarray or scipy.sparse.csr_matrx

The linear operator. For a model_map that maps within the same vector space (e.g. the identity map), the dimension n_param equals the number of model parameters. If not, the dimension n_param of the linear operator will depend on the mapping.

Attributes

G

The linear operator.

clean_on_model_update

A list of solver objects to clean when the model is updated

counter

SimPEG Counter object to store iterations and run-times.

deleteTheseOnModelUpdate

A list of properties stored on this object to delete when the model is updated

linear_model

The model for a linear problem physical property model.

mesh

Mesh for the simulation.

model

The inversion model.

model_deriv

Derivative of The model for a linear problem wrt the model.

model_map

Mapping of the inversion model to The model for a linear problem.

needs_model

True if a model is necessary

sensitivity_path

Path to directory where sensitivity file is stored.

solver

Numerical solver used in the forward simulation.

solver_opts

Solver-specific parameters.

survey

The survey for the simulation.

verbose

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#

Maps: ComboMaps

Maps: ComboMaps

PF: Gravity: Tiled Inversion Linear

PF: Gravity: Tiled Inversion Linear

Magnetic inversion on a TreeMesh

Magnetic inversion on a TreeMesh

Magnetic inversion on a TreeMesh

Magnetic inversion on a TreeMesh

Magnetic Amplitude inversion on a TreeMesh

Magnetic Amplitude inversion on a TreeMesh

Petrophysically guided inversion (PGI): Linear example

Petrophysically guided inversion (PGI): Linear example

Petrophysically guided inversion: Joint linear example with nonlinear relationships

Petrophysically guided inversion: Joint linear example with nonlinear relationships

PF: Gravity: Laguna del Maule Bouguer Gravity

PF: Gravity: Laguna del Maule Bouguer Gravity

Straight Ray with Volume Data Misfit Term

Straight Ray with Volume Data Misfit Term

Linear Least-Squares Inversion

Linear Least-Squares Inversion

Sparse Inversion with Iteratively Re-Weighted Least-Squares

Sparse Inversion with Iteratively Re-Weighted Least-Squares

Joint PGI of Gravity + Magnetic on an Octree mesh using full petrophysical information

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

Joint PGI of Gravity + Magnetic on an Octree mesh without petrophysical information

Cross-gradient Joint Inversion of Gravity and Magnetic Anomaly Data

Cross-gradient Joint Inversion of Gravity and Magnetic Anomaly Data

Forward Simulation for Straight Ray Tomography in 2D

Forward Simulation for Straight Ray Tomography in 2D

Sparse Norm Inversion of 2D Seismic Tomography Data

Sparse Norm Inversion of 2D Seismic Tomography Data

Forward Simulation of Gravity Anomaly Data on a Tensor Mesh

Forward Simulation of Gravity Anomaly Data on a Tensor Mesh

Forward Simulation of Gradiometry Data on a Tree Mesh

Forward Simulation of Gradiometry Data on a Tree Mesh

Least-Squares Inversion of Gravity Anomaly Data

Least-Squares Inversion of Gravity Anomaly Data

Sparse Norm Inversion of Gravity Anomaly Data

Sparse Norm Inversion of Gravity Anomaly Data

Forward Simulation of Total Magnetic Intensity Data

Forward Simulation of Total Magnetic Intensity Data

Forward Simulation of Gradiometry Data for Magnetic Vector Models

Forward Simulation of Gradiometry Data for Magnetic Vector Models

Sparse Norm Inversion for Total Magnetic Intensity Data on a Tensor Mesh

Sparse Norm Inversion for Total Magnetic Intensity Data on a Tensor Mesh