Blob Blame History Raw
void
test_estimator ()
{
  gsl_vector_view c;
  gsl_matrix_view cov;
  gsl_vector_view x;
  double y, y_err;
  
  double cov_ij[25] = {    
    4.271520, -0.526675,  0.957930,  0.267750, -0.103610,
    -0.526675,  5.701680, -0.098080,  0.641845,  0.429780,
    0.957930, -0.098080,  4.584790,  0.375865,  1.510810,
    0.267750,  0.641845,  0.375865,  4.422720,  0.392210,
  -0.103610,  0.429780,  1.510810,  0.392210,  5.782750

 };
    
  double c_i[5] = {  
    -0.627020,   0.848674,   0.216877,  -0.057883,   0.596668
  };

  double x_i[5] = {
    0.99932,   0.23858,   0.19797,   1.44008,  -0.15335
  };

  double y_expected = -5.56037032230000e-01;
  double yerr_expected = 3.91891123349318e+00;

  cov = gsl_matrix_view_array(cov_ij, 5, 5);
  c = gsl_vector_view_array(c_i, 5);
  x = gsl_vector_view_array(x_i, 5);

  gsl_multifit_linear_est(&x.vector , &c.vector, &cov.matrix, &y, &y_err);

  gsl_test_rel (y, y_expected, 256*GSL_DBL_EPSILON, "gsl_multifit_linear_est y");
  gsl_test_rel (y_err, yerr_expected, 256*GSL_DBL_EPSILON, "gsl_multifit_linear_est yerr");
}