Added wiener kernel

This commit is contained in:
2021-01-04 13:38:55 +01:00
parent b00f19af3c
commit 0345052a66
3 changed files with 301 additions and 3 deletions

View File

@@ -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!();
}
}