Linreg.c: Remove QR decomposition optimisation.
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 29 Jul 2017 05:30:50 +0000 (07:30 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 29 Jul 2017 05:30:50 +0000 (07:30 +0200)
Fixes bug #51373.

src/math/linreg.c

index 600262f6fbbddabdec66c0561ce94bd29eaa76fd..b5ccbc599921cad6b9fd1ecf02a5d24ef4abacb2 100644 (file)
@@ -432,6 +432,9 @@ linreg_fit (const gsl_matrix *cov, struct linreg *l)
 
   l->sst = gsl_matrix_get (cov, cov->size1 - 1, cov->size2 - 1);
 
+#if 0
+  /*  This QR decomposition path seems to produce the incorrect
+      values.  See https://savannah.gnu.org/bugs/?51373  */
   if ((l->n_obs * l->n_obs > l->n_indeps) && (l->n_obs > REG_LARGE_DATA))
     {
       /*
@@ -440,6 +443,7 @@ linreg_fit (const gsl_matrix *cov, struct linreg *l)
       linreg_fit_qr (cov, l);
     }
   else
+#endif    
     {
       gsl_matrix *params = gsl_matrix_calloc (cov->size1, cov->size2);
       gsl_matrix_memcpy (params, cov);