inversion_ideas.get_jacobi_preconditioner#
- inversion_ideas.get_jacobi_preconditioner(objective_function, model)#
Obtain a Jacobi preconditioner from an objective function.
- Parameters:
- objective_functionObjective
Objective function from which the preconditioner will be built.
- model(n_params) array
Model used to build the preconditioner.
- Returns:
- diag_array
Preconditioner 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})\).