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§
Sourcefn kernel_matrix(&self, x1: &Array2<f64>, x2: &Array2<f64>) -> Array2<f64>
fn kernel_matrix(&self, x1: &Array2<f64>, x2: &Array2<f64>) -> Array2<f64>
Compute kernel matrix between two sets of points
Sourcefn kernel_diagonal(&self, x: &Array2<f64>) -> Array1<f64>
fn kernel_diagonal(&self, x: &Array2<f64>) -> Array1<f64>
Compute kernel diagonal (for efficiency when x1 == x2)
Sourcefn parameters(&self) -> Vec<f64>
fn parameters(&self) -> Vec<f64>
Get kernel hyperparameters
Sourcefn set_parameters(&mut self, params: &[f64])
fn set_parameters(&mut self, params: &[f64])
Set kernel 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.