Source code for beetroots.modelling.priors.abstract_prior

from abc import ABC, abstractmethod
from typing import Union

import numpy as np


[docs] class PriorProbaDistribution(ABC): r"""Abstract Base Class for a probability distribution on non-countable set""" def __init__(self, D: int, N: int) -> None: self.D = D """int: number of distinct physical parameters""" self.N = N """int: number of pixels in each physical dimension"""
[docs] @abstractmethod def neglog_pdf(self, Theta: np.ndarray) -> Union[float, np.ndarray]: pass
[docs] @abstractmethod def gradient_neglog_pdf(self, Theta: np.ndarray) -> np.ndarray: pass
[docs] @abstractmethod def hess_diag_neglog_pdf(self, Theta: np.ndarray) -> np.ndarray: pass