kliff.analyzers.fisher

class kliff.analyzers.fisher.Fisher(calculator)[source]

Fisher information matrix.

Compute the Fisher information according to

..math::

I_{ij} = sum_m frac{partial bm f_m}{partial theta_i} cdot frac{partial bm f_m}{partial theta_j}

where f_m are the forces on atoms in configuration m, \theta_i is the ith model parameter. Derivatives are computed numerically using Ridders’ algorithm: https://en.wikipedia.org/wiki/Ridders%27_method

Parameters:

calculator – A calculator object.

run(verbose=1)[source]

Compute the Fisher information matrix and the standard deviation.

Parameters:

verbose (int) – If 0, do not write out to file; if 1, write to a file named analysis_Fisher_info_matrix.txt.

Returns:

  • I (2D array, shape(N, N)) – Fisher information matrix, where N is the number of parameters.

  • I_stdev (2D array, shape(N, N)) – Standard deviation of Fisher information matrix, where N is the number of parameters.