inversion_ideas.create_l2_inversion#
- inversion_ideas.create_l2_inversion(data_misfit, model_norm, *, starting_beta, initial_model, minimizer, beta_cooling_factor=2.0, beta_cooling_rate=1, chi_target=1.0, max_iterations=None, cache_models=True, preconditioner=None)#
Create inversion of the form \(\phi_d + \beta \phi_m\).
Build an inversion with a beta cooling schedule and a stopping criterion for a chi factor target.
- Parameters:
- data_misfit
Objective Data misfit term \(\phi_d\).
- model_norm
Objective Model norm \(\phi_m\).
- starting_beta
float Starting value for the trade-off parameter \(\beta\).
- initial_model(
n_params)array Initial model to use in the inversion.
- minimizer
Minimizer Instance of
Minimizerused to minimize the objective function during the inversion.- beta_cooling_factor
float, optional Cooling factor for the trade-off parameter \(\beta\). Every
beta_cooling_rateiterations, the \(\beta\) will be cooled down by dividing it by thebeta_cooling_factor.- beta_cooling_rate
int, optional Cooling rate for the trade-off parameter \(\beta\). The trade-off parameter will be cooled down every
beta_cooling_rateiterations.- chi_target
float, optional Target for the chi factor. The inversion will finish after the data misfit reaches a \(\chi\) factor lower or equal to
chi_target.- max_iterations
int, optional Max amount of iterations that will be performed. If
None, then there will be no limit on the total amount of iterations.- cache_modelsbool, optional
Whether to cache models after each iteration in the inversion.
- preconditioner{“jacobi”}
or2darrayorsparsearrayorLinearOperatororNone, optional Preconditioner that will be passed to the
minimizeron every call during the inversion. If"bfgs", a default BFGS preconditioner will be used, where the initial estimate for it will be set as the Jacobi preconditioner of themodel_normtimes thestarting_beta. If"jacobi", a default Jacobi preconditioner that will get updated on every iteration will be defined for the inversion. If None, no preconditioner will be passed.
- data_misfit
- Returns: