enerzyme.models.layers.rbf.ExponentialRBF#
- class enerzyme.models.layers.rbf.ExponentialRBF(num_rbf: int, no_basis_at_infinity: bool = False, init_alpha: float = 0.944863062918464, exp_weighting: bool = False, learnable_shape: bool = True, cutoff_sr: float = inf, cutoff_fn: Literal['polynomial', 'bump'] = 'bump')[source]#
Bases:
BaseRBF- __init__(num_rbf: int, no_basis_at_infinity: bool = False, init_alpha: float = 0.944863062918464, exp_weighting: bool = False, learnable_shape: bool = True, cutoff_sr: float = inf, cutoff_fn: Literal['polynomial', 'bump'] = 'bump') None[source]#
The base class of radial basis functions with a general exponential form. It entails the physical knowledge that bound state wave functions in two-body systems decay exponentially. [1,2,3]
RBF(r; alpha) = cutoff_fn(r) * exp(inner_fn(r; alpha)) * (exp(-alpha*r) if exp_weighting)
Params:#
num_basis_functions: Number of radial basis functions.
no_basis_function_at_infinity: If True, no basis function is put at exp(-alpha*x) = 0, i.e. x = infinity.
init_alpha: Initial value for scaling parameter alpha (Default value corresponds to 0.5 1/Bohr converted to 1/Angstrom).
exp_weighting: If True, basis functions are weighted with a factor exp(-alpha*r).
learnable_shape: If True, shape parameters of exponentials are learnable.
cutoff: Short range cutoff threshold for radial base functions.
cutoff_fn: Short range cutoff function, whose are called by cutoff_fn(x, cutoff=cutoff) where x is the distance.
References:#
[1] Commun. Math. Phys. 1973, 32, 319−340.
[2] J. Chem. Theory Comput. 2019, 15, 3678−3693.
[3] Nat. Chem. 2020, 12, 891–897.