Files
kickscore/src/kernel/constant.rs
2020-04-17 20:39:01 +02:00

48 lines
845 B
Rust

use ndarray::prelude::*;
use super::Kernel;
pub struct Constant {
var: f64,
}
impl Constant {
pub fn new(var: f64) -> Self {
Constant { var }
}
}
impl Kernel for Constant {
fn k_diag(&self, ts: &[f64]) -> Array1<f64> {
Array1::ones(ts.len()) * self.var
}
fn order(&self) -> usize {
1
}
fn state_mean(&self, _t: f64) -> Array1<f64> {
Array1::zeros(1)
}
fn state_cov(&self, _t: f64) -> Array2<f64> {
array![[1.0]] * self.var
}
fn measurement_vector(&self) -> Array1<f64> {
array![1.0]
}
fn feedback(&self) -> Array2<f64> {
array![[0.0]]
}
fn transition(&self, _t0: f64, _t1: f64) -> Array2<f64> {
array![[1.0]]
}
fn noise_cov(&self, _t0: f64, _t1: f64) -> Array2<f64> {
array![[0.0]]
}
}