InvProblem

class SimPEG.InvProblem.BaseInvProblem(dmisfit, reg, opt)[source]

Bases: SimPEG.Props.BaseSimPEG

Optional

Parameters:model (Model) – Inversion model., a numpy array of <type ‘float’>, <type ‘int’> with shape (*)
beta = 1.0

Trade-off parameter

debug = False

Print debugging information

counter = None

Set this to a SimPEG.Utils.Counter() if you want to count things

deleteTheseOnModelUpdate = []

List of strings, e.g. [‘_MeSigma’, ‘_MeSigmaI’]

model

Inversion model.

dmisfit = None

DataMisfit

reg = None

Regularization

opt = None

Optimization program

startup(m0)[source]

Called when inversion is first starting.

If you have things that also need to run in the method startup, you can create a method:

def _startup*(self, ... ):
    pass

Where the * can be any string. If present, _startup* will be called at the start of the default startup call. You may also completely overwrite this function.

warmstart
getFields(m, store=False, deleteWarmstart=True)[source]
evalFunction(m, return_g=True, return_H=True)[source]

Inversion

class SimPEG.Inversion.BaseInversion(invProb, directiveList=None, **kwargs)[source]

Bases: object

Inversion Class

name = 'BaseInversion'
debug = False

Print debugging information

counter = None

Set this to a SimPEG.Utils.Counter() if you want to count things

directiveList
run(m0)[source]

Runs the inversion!

Directives

class SimPEG.Directives.InversionDirective(**kwargs)[source]

Bases: object

debug = False

Print debugging information

inversion

This is the inversion of the InversionDirective instance.

invProb
opt
reg
dmisfit
survey
prob
initialize()[source]
endIter()[source]
finish()[source]
class SimPEG.Directives.DirectiveList(*directives, **kwargs)[source]

Bases: object

dList = None

The list of Directives

debug
inversion

This is the inversion of the InversionDirective instance.

call(ruleType)[source]
class SimPEG.Directives.BetaEstimate_ByEig(**kwargs)[source]

Bases: SimPEG.Directives.InversionDirective

BetaEstimate

beta0 = None

The initial Beta (regularization parameter)

beta0_ratio = 100.0

estimateBeta0 is used with this ratio

initialize()[source]

The initial beta is calculated by comparing the estimated eigenvalues of JtJ and WtW.

To estimate the eigenvector of A, we will use one iteration of the Power Method:

\[\mathbf{x_1 = A x_0}\]

Given this (very course) approximation of the eigenvector, we can use the Rayleigh quotient to approximate the largest eigenvalue.

\[\lambda_0 = \frac{\mathbf{x^\top A x}}{\mathbf{x^\top x}}\]

We will approximate the largest eigenvalue for both JtJ and WtW, and use some ratio of the quotient to estimate beta0.

\[\beta_0 = \gamma \frac{\mathbf{x^\top J^\top J x}}{\mathbf{x^\top W^\top W x}}\]
Return type:float
Returns:beta0
class SimPEG.Directives.BetaSchedule(**kwargs)[source]

Bases: SimPEG.Directives.InversionDirective

coolingFactor = 8.0
coolingRate = 3
endIter()[source]
class SimPEG.Directives.TargetMisfit(**kwargs)[source]

Bases: SimPEG.Directives.InversionDirective

chifact = 1.0
phi_d_star = None
target
endIter()[source]
class SimPEG.Directives.SaveEveryIteration(**kwargs)[source]

Bases: SimPEG.Directives.InversionDirective

name
fileName
class SimPEG.Directives.SaveModelEveryIteration(**kwargs)[source]

Bases: SimPEG.Directives.SaveEveryIteration

initialize()[source]
endIter()[source]
class SimPEG.Directives.SaveOutputEveryIteration(**kwargs)[source]

Bases: SimPEG.Directives.SaveEveryIteration

SaveModelEveryIteration

initialize()[source]
endIter()[source]
class SimPEG.Directives.SaveOutputDictEveryIteration(**kwargs)[source]

Bases: SimPEG.Directives.SaveEveryIteration

Saves inversion parameters at every iteraion.

initialize()[source]
endIter()[source]
class SimPEG.Directives.Update_IRLS(**kwargs)[source]

Bases: SimPEG.Directives.InversionDirective

eps_min = None
eps = None
norms = [2.0, 2.0, 2.0, 2.0]
factor = None
gamma = None
phi_m_last = None
phi_d_last = None
f_old = None
f_min_change = 0.01
beta_tol = 0.05
prctile = 95
IRLSiter = 0
minGNiter = 5
maxIRLSiter = 10
iterStart = 0
coolingFactor = 2.0
coolingRate = 1
mode = 1
target
initialize()[source]
endIter()[source]
class SimPEG.Directives.Update_lin_PreCond(**kwargs)[source]

Bases: SimPEG.Directives.InversionDirective

Create a Jacobi preconditioner for the linear problem

onlyOnStart = False
mapping = None
initialize()[source]
endIter()[source]
class SimPEG.Directives.Update_Wj(**kwargs)[source]

Bases: SimPEG.Directives.InversionDirective

Create approx-sensitivity base weighting using the probing method

k = None
itr = None
endIter()[source]