Source code for skein_glm.datafits

"""Python-side datafit ABC. Mirrors `skein-core::datafit::Datafit`."""
from __future__ import annotations

from abc import ABC, abstractmethod

import numpy as np
from numpy.typing import NDArray


[docs] class Datafit(ABC): @abstractmethod def value(self, residual: NDArray[np.float64]) -> float: ... @abstractmethod def init_residual( self, x: NDArray[np.float64], beta: NDArray[np.float64] ) -> NDArray[np.float64]: ... @abstractmethod def coord_lipschitz(self, x: NDArray[np.float64], j: int) -> float: ... @property def sample_weights(self) -> NDArray[np.float64] | None: return None