fn main() -> Result<(), Box> { let x_train: Vec> = vec![ vec![0.00], vec![0.22], vec![0.44], vec![0.67], vec![0.90], vec![0.16], vec![0.34], vec![0.50], vec![0.73], vec![1.00], ]; let y_train: Vec = vec![ -0.06, 0.97, 0.25, -0.90, -0.53, 0.94, 0.85, 0.09, -0.93, 0.08, ]; let gp_model = friedrich::gaussian_process::GaussianProcess::default(x_train, y_train); let x_test: Vec> = (-20..=120).map(|i| vec![i as f64 * 0.01]).collect(); for x in x_test { let y_mu = gp_model.predict(&x); let y_sigma = gp_model.predict_variance(&x).sqrt(); println!("{:.2}, {:>12.6}, {:12.6}", x[0], y_mu, y_sigma); } println!("{:?}", gp_model.kernel); Ok(()) }