enerzyme.models.layers.rbf.BernsteinRBFLayer#

class enerzyme.models.layers.rbf.BernsteinRBFLayer(num_rbf: int, cutoff_sr: float, cutoff_fn: Literal['polynomial', 'bump'] = 'bump')[source]#

Bases: BaseRBF

Radial basis functions based on Bernstein polynomials given by: b_{v,n}(x) = (n over v) * (x/cutoff)**v * (1-(x/cutoff))**(n-v) (see https://en.wikipedia.org/wiki/Bernstein_polynomial) Here, n = num_basis_functions-1 and v takes values from 0 to n. The basis functions are placed to optimally cover the range x = 0…cutoff.

Arguments:
num_basis_functions (int):

Number of radial basis functions.

cutoff (float):

Cutoff radius.

__init__(num_rbf: int, cutoff_sr: float, cutoff_fn: Literal['polynomial', 'bump'] = 'bump') None[source]#

Initializes the BernsteinPolynomials class.