Added test for linalg::solve. Fix bug in fitter (wrong argument order)
This commit is contained in:
@@ -264,9 +264,10 @@ impl<K: Kernel> Fitter for Recursive<K> {
|
||||
};
|
||||
|
||||
// RTS update using the right neighbor.
|
||||
let a = self.kernel.transition(ts[i], self.ts[(j + 1) as usize]);
|
||||
let a = a.dot(&p);
|
||||
let b = self.p_p[(j + 1) as usize].clone();
|
||||
let a = self.p_p[(j + 1) as usize].clone();
|
||||
|
||||
let b = self.kernel.transition(ts[i], self.ts[(j + 1) as usize]);
|
||||
let b = b.dot(&p);
|
||||
|
||||
let g = crate::linalg::solve(a, b);
|
||||
let g = g.t();
|
||||
@@ -327,7 +328,6 @@ mod tests {
|
||||
extern crate blas_src;
|
||||
|
||||
use approx::assert_relative_eq;
|
||||
use rand::{distributions::Standard, thread_rng, Rng};
|
||||
|
||||
use crate::kernel::Matern32;
|
||||
|
||||
@@ -463,7 +463,7 @@ mod tests {
|
||||
fitter.fit();
|
||||
|
||||
// Estimation
|
||||
eprintln!("{:#?}", fitter.ms);
|
||||
// eprintln!("{:#?}", fitter.ms);
|
||||
|
||||
assert_relative_eq!(
|
||||
Array1::from(fitter.ms.clone()),
|
||||
@@ -479,8 +479,8 @@ mod tests {
|
||||
// Prediction.
|
||||
let (ms, vs) = fitter.predict(data_ts_pred());
|
||||
|
||||
assert_relative_eq!(Array1::from(ms), data_mean_pred(), max_relative = 0.0000001);
|
||||
assert_relative_eq!(Array1::from(vs), data_var_pred(), max_relative = 0.0000001);
|
||||
assert_relative_eq!(Array1::from(ms), data_mean_pred(), max_relative = 0.000001);
|
||||
assert_relative_eq!(Array1::from(vs), data_var_pred(), max_relative = 0.000001);
|
||||
|
||||
/*
|
||||
# Log-likelihood.
|
||||
|
||||
Reference in New Issue
Block a user