Skip to main content

CentrosymmKernel

Trait CentrosymmKernel 

Source
pub trait CentrosymmKernel: AbstractKernel {
    // Required methods
    fn compute_reduced<T>(&self, x: T, y: T, symmetry: SymmetryType) -> T
       where T: CustomNumeric + Copy + Debug;
    fn lambda(&self) -> f64;
}
Expand description

Trait for centrosymmetric kernels

Centrosymmetric kernels satisfy K(x, y) = K(-x, -y) and can be decomposed into even and odd components for efficient computation.

Required Methods§

Source

fn compute_reduced<T>(&self, x: T, y: T, symmetry: SymmetryType) -> T
where T: CustomNumeric + Copy + Debug,

Compute the reduced kernel value

K_red(x, y) = K(x, y) + sign * K(x, -y) where sign = 1 for even symmetry and sign = -1 for odd symmetry

Source

fn lambda(&self) -> f64

Get the cutoff parameter Λ (lambda)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§