simpeg.simulation.ExponentialSinusoidSimulation#
- class simpeg.simulation.ExponentialSinusoidSimulation(n_kernels=20, p=-0.25, q=0.25, j0=0.0, jn=60.0, **kwargs)[source]#
Bases:
LinearSimulation
Simulation class for exponentially decaying sinusoidal kernel functions.
This is the simulation class for the linear problem consisting of exponentially decaying sinusoids. The entries of the linear operator \(\mathbf{G}\) are:
\[G_{ik} = \int_\Omega e^{p \, j_i \, x_k} \cos(\pi \, q \, j_i \, x_k) \, dx\]The model is defined on a 1D
discretize.TensorMesh
, and \(x_k\) are the cell center locations. \(p \leq 0\) defines the rate of exponential decay of the kernel functions. \(q\) defines the rate of oscillation of the kernel functions. And \(j_i \in [j_0, ... , j_n]\) controls the spread of the kernel functions; the number of which is set using then_kernels
property.Tip
For proper scaling, we advise defining the 1D tensor mesh to discretize the interval [0, 1].
The kernel functions take the form:
\[\int_x e^{p j_k x} \cos(\pi q j_k x) \quad, j_k \in [j_0, ..., j_n]\]The model is defined at cell centers while the kernel functions are defined on nodes. The trapezoid rule is used to evaluate the integral
\[d_j = \int g_j(x) m(x) dx\]to define our data.
- Parameters:
- n_kernels
int
The number of kernel factors for the linear problem; i.e. the number of \(j_i \in [j_0, ... , j_n]\). This sets the number of rows in the linear forward operator.
- p
float
Exponent specifying the decay (p leq 0) or growth (p geq 0) of the kernel. For decay, set \(p \leq 0\).
- q
float
Rate of oscillation of the kernel.
- j0
float
Minimum value for the spread of the kernel factors.
- jn
float
Maximum value for the spread of the kernel factors.
- n_kernels
Attributes
The linear forward operator.
A list of solver objects to clean when the model is updated
SimPEG
Counter
object to store iterations and run-times.A list of properties stored on this object to delete when the model is updated
Minimum value for the spread of the kernel factors.
The set of kernel factors controlling the spread of the kernel functions.
Maximum value for the spread of the kernel factors.
The model for a linear problem physical property model.
Mesh for the simulation.
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.
The number of kernel factors for the linear problem.
True if a model is necessary
Rate of exponential decay of the kernel.
Rate of oscillation of the kernel.
Path to directory where sensitivity file is stored.
Numerical solver used in the forward simulation.
Solver-specific parameters.
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.
g
(k)Kernel functions evaluated for kernel factor \(j_k\).
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.