scine_autocas.autocas_utils.diagnostics

Provide diagnostics for autoCAS.

This module implements the Diagnostics class, which stores entropies and threshold values for the determination of the active space.

Classes

Diagnostics([settings_dict])

A Class to store the entropies and threshold values to evaluate diagnostics from it.

class scine_autocas.autocas_utils.diagnostics.Diagnostics(settings_dict=None)[source]

A Class to store the entropies and threshold values to evaluate diagnostics from it.

Currently there is only a check for single reference and zs1 implemented, hence the only values are thresholds which are stored.

Notes

For further information see [1] C. J. Stein and M. Reiher J. Comput. Chem. 40, 2216-2226 (2019). [2] C. J. Stein and M. Reiher J. Chem. Theory Comput. 12, 1760-1771 (2016). [3] C. J. Stein, V. von Burg and M. Reiher J. Chem. Theory Comput. 12, 3764-3773 (2016). [4] C. J. Stein and M. Reiher Chimia 71, 170-176 (2017).

Attributes

s1_entropy

(np.ndarray) the single orbital entropy matrix

s2_entropy

(np.ndarray) the two orbtial entropy tensor

mutual_information

(np.ndarray) the mutual information tensor

single_reference_threshold

(float, default = 0,14) if the largest element in s1 is smaller, the system is considered single reference

weak_correlation threshold

(float, default = 0.02) if no active space is found, orbitals with a lower single orbital entropy are remove.

__slots__ = ('s1_entropy', 's2_entropy', 'mutual_information', 'single_reference_threshold', 'weak_correlation_threshold')
__init__(settings_dict=None)[source]

Contruct a Diagnostics object.

If a settings_dict is provided is provided with attributes in this class, these attributes will be overwritten.

Parameters
settings_dictDict[str, Any], optional

a dict, usually provided by the input_handler, which stores attributes and corresponding values

See also

settings_dict

InputHandler

s1_entropy: numpy.ndarray

single orbital entropy

s2_entropy: numpy.ndarray

two orbital entropy

mutual_information: numpy.ndarray

mutual information

single_reference_threshold: float

if max(s1) is lower then this threshold the system will be defined as single reference

__doc__ = 'A Class to store the entropies and threshold values to evaluate\n    diagnostics from it.\n\n    Currently there is only a check for single reference and zs1 implemented, hence the\n    only values are thresholds which are stored.\n\n    Attributes\n    ----------\n    s1_entropy : np.ndarray\n        the single orbital entropy matrix\n    s2_entropy : np.ndarray\n        the two orbtial entropy tensor\n    mutual_information : np.ndarray\n        the mutual information tensor\n    single_reference_threshold : float, default = 0,14\n        if the largest element in s1 is smaller, the system is considered single reference\n    weak_correlation threshold : float, default = 0.02\n        if no active space is found, orbitals with a lower single orbital entropy are remove.\n\n\n    Notes\n    -----\n    For further information see\n    [1] C. J. Stein and M. Reiher J. Comput. Chem. 40, 2216-2226 (2019).\n    [2] C. J. Stein and M. Reiher J. Chem. Theory Comput. 12, 1760-1771 (2016).\n    [3] C. J. Stein, V. von Burg and M. Reiher J. Chem. Theory Comput. 12, 3764-3773 (2016).\n    [4] C. J. Stein and M. Reiher Chimia 71, 170-176 (2017).\n    '
__module__ = 'scine_autocas.autocas_utils.diagnostics'
weak_correlation_threshold: float

if an orbital has a lower s1 than max(s1) * weak_correlation_threshold, it is excluded

zs1(s1_entropy)[source]

Evaluate the Zs(1) diagnostics for a set of s1 values.

Zs(1) indicates a MC character if Zs(1) > 0.2. If 0.1 < Zs(1) < 0.2 than a SR method can be considered, since it is usually cheaper to use it.

Parameters
s1_entropynp.ndarray

set of s1 values to evaluate zs1 from.

Returns
zs1float

The Zs(1) diagnostics with respect to the set of s1 values.

rtype

float ..

is_single_reference()[source]

Check if the system is weak correlated.

Maning the maximum s1 value is lower than 10% of the theoretical maximum, e.g. 0.14.

Returns
bool

True if the system is single reference, else False meaning multi reference

rtype

bool ..