isotopylog.fit_HH21inv¶
-
isotopylog.fit_HH21inv(he, nu_max=10, nu_min=-50, nnu=300, non_neg=True, omega='auto', **kwargs)¶ Fits D evolution data using the distributed activation energy model of Hemingway and Henkes (2021). This function solves for rho_nu, the regularized distribution of rates in lnk space. See HH21 Eq. X for notation and details. This function can estimate best-fit omega using Tikhonov regularization.
Parameters: - he (isotopylog.HeatingExperiment) – ipl.HeatingExperiment instance containing the D data to be modeled.
- nu_max (float) – The maximum lnk value to consider. Defaults to 10.
- nu_min (float) – The minimum lnk value to consider. Defaults to -50.
- nnu (int) – The number of nu values in the array such that dnu = (nu_max - nu_min)/nnu. Defaults to 300.
- non_neg (boolean) – Tells the function whether or not to constrain the solution to be
non-negative. Defaults to
True. - omega (str or float) – The “smoothing parameter” to use. This can be a number or auto; if ‘auto’, the function uses Tikhonov regularization to calculate the optimal omega value. Defaults to auto.
Returns: - rho_nu_inv (array-like) – Resulting regularized rho distribution, of length n_nu.
- omega (float) – If inputed omega = ‘auto’, then this is the best-fit omega value. If inputted omega was a number, this is simply same as the inputted value.
- res_inv (float) – Root mean square error of the inverse model fit, in D47 units.
- rgh_inv (float) – Roughness norm of the inverse model fit.
Raises: TypeError– If omega is not ‘Auto’ or float or int type.TypeError– If unexpected keyword arguments are passed to calc_L_curve.
See also
isotopylog.fit_HH21()- Method for fitting heating experiment data using the lognormal model of Hemingway and Henkes (2021).
kDistribution.invert_experiment()- Method for generating a kDistribution instance from experimental data.
Examples
Basic implementation, assuming a ipl.HeatingExperiment instance he exists:
#import modules import isotopylog as ipl #assume he is a HeatingExperiment instance results = ipl.fit_HH21inv(he, omega = 'auto')
Same implementation, but if best-fit omega is known a priori:
#import modules import isotopylog as ipl #assume best-fit omega is 3 omega = 3 #assume he is a HeatingExperiment instance results = ipl.fit_HH21inv(he, omega = 3)
References
[1] Forney and Rothman (2012) J. Royal Soc. Inter., 9, 2255–2267.
[2] Hemingway and Henkes (2021) Earth Planet. Sci. Lett., 566, 116962.