Source code for enerzyme.models.special

import numpy as np
import math
import torch
from torch import Tensor
from typing import Tuple


[docs] def get_berstein_coefficient(order: int) -> Tuple[np.ndarray, np.ndarray, np.ndarray]: logfactorial = np.zeros(order) for i in range(2, order): logfactorial[i] = logfactorial[i - 1] + np.log(i) v = np.arange(0, order) n = (order - 1) - v logbinomial = logfactorial[-1] - logfactorial[v] - logfactorial[n] return v, n, logbinomial
[docs] def sinc(x: Tensor) -> Tensor: x = x * math.pi return torch.sin(x) / x