SparseKernel

Trait SparseKernel 

Source
pub trait SparseKernel:
    Clone
    + Send
    + Sync {
    // Required methods
    fn kernel_matrix(&self, x1: &Array2<f64>, x2: &Array2<f64>) -> Array2<f64>;
    fn kernel_diagonal(&self, x: &Array2<f64>) -> Array1<f64>;
    fn parameters(&self) -> Vec<f64>;
    fn set_parameters(&mut self, params: &[f64]);
    fn parameter_gradients(
        &self,
        x1: &Array2<f64>,
        x2: &Array2<f64>,
    ) -> Vec<Array2<f64>> ;
}
Expand description

Trait for sparse GP kernels with parameter management

Required Methods§

Source

fn kernel_matrix(&self, x1: &Array2<f64>, x2: &Array2<f64>) -> Array2<f64>

Compute kernel matrix between two sets of points

Source

fn kernel_diagonal(&self, x: &Array2<f64>) -> Array1<f64>

Compute kernel diagonal (for efficiency when x1 == x2)

Source

fn parameters(&self) -> Vec<f64>

Get kernel hyperparameters

Source

fn set_parameters(&mut self, params: &[f64])

Set kernel hyperparameters

Source

fn parameter_gradients( &self, x1: &Array2<f64>, x2: &Array2<f64>, ) -> Vec<Array2<f64>>

Compute kernel gradient with respect to hyperparameters

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.

Implementors§