ApproximationQualityBounds

Trait ApproximationQualityBounds 

Source
pub trait ApproximationQualityBounds<Method: ApproximationMethod> {
    const ERROR_BOUND_CONSTANT: f64;
    const SAMPLE_COMPLEXITY_EXPONENT: f64;
    const DIMENSION_DEPENDENCY: f64;

    // Provided method
    fn error_bound(
        n_samples: usize,
        n_features: usize,
        n_components: usize,
    ) -> f64 { ... }
}
Expand description

Advanced approximation quality bounds

Required Associated Constants§

Source

const ERROR_BOUND_CONSTANT: f64

Theoretical error bound for this method

Source

const SAMPLE_COMPLEXITY_EXPONENT: f64

Sample complexity scaling

Source

const DIMENSION_DEPENDENCY: f64

Dimension dependency

Provided Methods§

Source

fn error_bound(n_samples: usize, n_features: usize, n_components: usize) -> f64

Compute theoretical error bound

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl ApproximationQualityBounds<FastfoodMethod> for ()

Source§

const ERROR_BOUND_CONSTANT: f64 = 3f64

Source§

const SAMPLE_COMPLEXITY_EXPONENT: f64 = 0.20000000000000001f64

Source§

const DIMENSION_DEPENDENCY: f64 = 0.14999999999999999f64

Source§

impl ApproximationQualityBounds<NystromMethod> for ()

Source§

const ERROR_BOUND_CONSTANT: f64 = 1.5f64

Source§

const SAMPLE_COMPLEXITY_EXPONENT: f64 = 0.33000000000000002f64

Source§

const DIMENSION_DEPENDENCY: f64 = 0.050000000000000003f64

Source§

impl ApproximationQualityBounds<RandomFourierFeatures> for ()

Source§

const ERROR_BOUND_CONSTANT: f64 = 2f64

Source§

const SAMPLE_COMPLEXITY_EXPONENT: f64 = 0.25f64

Source§

const DIMENSION_DEPENDENCY: f64 = 0.10000000000000001f64

Implementors§