Added wiener kernel
This commit is contained in:
@@ -1,14 +1,18 @@
|
||||
use ndarray::prelude::*;
|
||||
|
||||
mod affine;
|
||||
mod constant;
|
||||
mod exponential;
|
||||
mod matern32;
|
||||
mod matern52;
|
||||
mod wiener;
|
||||
|
||||
pub use affine::Affine;
|
||||
pub use constant::Constant;
|
||||
pub use exponential::Exponential;
|
||||
pub use matern32::Matern32;
|
||||
pub use matern52::Matern52;
|
||||
pub use wiener::Wiener;
|
||||
|
||||
pub(crate) fn distance(ts1: &[f64], ts2: &[f64]) -> Array2<f64> {
|
||||
let mut r = Array2::zeros((ts1.len(), ts2.len()));
|
||||
@@ -30,6 +34,7 @@ pub trait Kernel {
|
||||
fn state_cov(&self, t: f64) -> Array2<f64>;
|
||||
fn measurement_vector(&self) -> Array1<f64>;
|
||||
fn feedback(&self) -> Array2<f64>;
|
||||
fn transition(&self, t0: f64, t1: f64) -> Array2<f64>;
|
||||
|
||||
fn noise_effect(&self) -> Array2<f64> {
|
||||
unimplemented!();
|
||||
@@ -39,10 +44,8 @@ pub trait Kernel {
|
||||
unimplemented!();
|
||||
}
|
||||
|
||||
fn transition(&self, t0: f64, t1: f64) -> Array2<f64>;
|
||||
|
||||
fn noise_cov(&self, _t0: f64, _t1: f64) -> Array2<f64> {
|
||||
todo!();
|
||||
unimplemented!();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user