KernelMethodCompatibility

Trait KernelMethodCompatibility 

Source
pub trait KernelMethodCompatibility<K: KernelType, M: ApproximationMethod> {
    const IS_COMPATIBLE: bool;
    const PERFORMANCE_TIER: PerformanceTier;
    const MEMORY_COMPLEXITY: ComplexityClass;
}
Expand description

Compile-time compatibility checking between kernels and methods

Required Associated Constants§

Source

const IS_COMPATIBLE: bool

Whether this kernel-method combination is supported

Source

const PERFORMANCE_TIER: PerformanceTier

Performance characteristics of this combination

Source

const MEMORY_COMPLEXITY: ComplexityClass

Memory complexity

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 KernelMethodCompatibility<ArcCosineKernel, FastfoodMethod> for ()

Source§

const IS_COMPATIBLE: bool = false

Source§

const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Poor

Source§

const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::DimensionDependent

Source§

impl KernelMethodCompatibility<ArcCosineKernel, NystromMethod> for ()

Source§

const IS_COMPATIBLE: bool = false

Source§

const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Poor

Source§

const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Quadratic

Source§

impl KernelMethodCompatibility<ArcCosineKernel, RandomFourierFeatures> for ()

Arc-cosine kernels have limited compatibility

Source§

const IS_COMPATIBLE: bool = true

Source§

const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Acceptable

Source§

const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Linear

Source§

impl KernelMethodCompatibility<LaplacianKernel, NystromMethod> for ()

Source§

const IS_COMPATIBLE: bool = true

Source§

const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Good

Source§

const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Quadratic

Source§

impl KernelMethodCompatibility<LaplacianKernel, RandomFourierFeatures> for ()

Source§

const IS_COMPATIBLE: bool = true

Source§

const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Optimal

Source§

const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Linear

Source§

impl KernelMethodCompatibility<PolynomialKernel, NystromMethod> for ()

Source§

const IS_COMPATIBLE: bool = true

Source§

const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Good

Source§

const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Quadratic

Source§

impl KernelMethodCompatibility<PolynomialKernel, RandomFourierFeatures> for ()

Source§

const IS_COMPATIBLE: bool = true

Source§

const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Good

Source§

const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Linear

Source§

impl KernelMethodCompatibility<RBFKernel, FastfoodMethod> for ()

Source§

const IS_COMPATIBLE: bool = true

Source§

const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Optimal

Source§

const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::DimensionDependent

Source§

impl KernelMethodCompatibility<RBFKernel, NystromMethod> for ()

Source§

const IS_COMPATIBLE: bool = true

Source§

const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Good

Source§

const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Quadratic

Source§

impl KernelMethodCompatibility<RBFKernel, RandomFourierFeatures> for ()

Implement compatibility rules

Source§

const IS_COMPATIBLE: bool = true

Source§

const PERFORMANCE_TIER: PerformanceTier = PerformanceTier::Optimal

Source§

const MEMORY_COMPLEXITY: ComplexityClass = ComplexityClass::Linear

Implementors§