inversion_ideas.get_jacobi_preconditioner#
- inversion_ideas.get_jacobi_preconditioner(objective_function, model)#
Obtain a Jacobi preconditioner from an objective function.
- Parameters:
- objective_function
Objective Objective function from which the preconditioner will be built.
- model(
n_params)array Model used to build the preconditioner.
- objective_function
- Returns:
diag_arrayPreconditioner as a sparse diagonal array.
Notes
Given an objective function \(\phi(\mathbf{m})\), this function builds the Jacobi preconditioner \(\mathbf{P}(\mathbf{m})\) as the inverse of the diagonal of the Hessian of \(\phi(\mathbf{m})\):
\[\mathbf{P}(\mathbf{m}) = \text{diag}[ \bar{\bar{\nabla}} \phi(\mathbf{m}) ]^{-1}\]where \(\bar{\bar{\nabla}} \phi(\mathbf{m})\) is the Hessian of \(\phi(\mathbf{m})\).