Shrinkage

shrinkage::GapSafeDatafit

Shrinkage for Rust · rust · 0.3.0

pub trait GapSafeDatafit

Loss-side capability for original-loss Gap Safe certificates.

Methods

dual_candidate

fn dual_candidate(
    &self,
    predictor: &[f64],
    output: &mut [f64]
) -> Result<(), FitError>

Construct a domain-feasible candidate, including any intercept equality.

Errors

Reject invalid dimensions, inputs, or nonfinite arithmetic.

dual_objective

fn dual_objective(&self, dual: &[f64]) -> Result<f64, FitError>

Evaluate the dual objective, excluding penalty feasibility.

Errors

Reject a candidate outside the loss conjugate's domain.

fenchel_gap

fn fenchel_gap(&self, predictor: &[f64], dual: &[f64]) -> Result<f64, FitError>

Evaluate the loss Fenchel gap without subtracting full objectives.

This is F(eta) + F_conjugate(-theta) + dot(eta, theta).

Errors

Reject incompatible dimensions, invalid domains, or nonfinite arithmetic.

finalize_dual

fn finalize_dual(&self, dual: &mut [f64]) -> Result<(), FitError>

Repair domain and equality constraints after floating-point scaling.

Errors

Reject invalid dimensions or arithmetic. A feasible zero fallback is valid.

strong_concavity

fn strong_concavity(&self) -> f64

Positive strong-concavity constant on the observation scale.

Implementation of GapSafeDatafit

impl GapSafeDatafit for Binomial<'_>

Implementation of GapSafeDatafit

impl GapSafeDatafit for Gaussian<'_>