SimPEG.utils.eigenvalue_by_power_iteration#

SimPEG.utils.eigenvalue_by_power_iteration(combo_objfct, model, n_pw_iter=4, fields_list=None, seed=None)[source]#

Estimate highest eigenvalue of one or a combo of objective functions using power iterations and the Rayleigh quotient.

Using power iterations and the Rayleigh quotient, this function estimates the largest eigenvalue for a single SimPEG.BaseObjectiveFunction or a combination of objective functions stored in a SimPEG.ComboObjectiveFunction.

Parameters
combo_objfctSimPEG.BaseObjectiveFunction

Objective function or a combo objective function

modelnumpy.ndarray

Current model

n_pw_iterint

Number of power iterations used to estimate the highest eigenvalue

fields_listlist (optional)

list of fields objects for each data misfit term in combo_objfct. If none given, they will be evaluated within the function. If combo_objfct mixs data misfit and regularization terms, the list should contains SimPEG.fields for the data misfit terms and None for the regularization term.

seedint

Random seed for the initial random guess of eigenvector.

Returns
float

Estimated value of the highest eigenvalue