1 Fix the linalg and multilarge_nlinear test failures by lowering the tolerance. |
|
2 |
|
3 The linalg problem has been reported upstream at: |
|
4 |
|
5 http://savannah.gnu.org/bugs/?49697 |
|
6 |
|
7 No solution there, but libgsl version 2.3 (released on 6th Dec 2016) |
|
8 does have the following changes to the test_cholesky.c test program |
|
9 which does fix it. |
|
10 |
|
11 Also by adjusting the tolerance in the test_powell3.c tests, the failures |
|
12 there can be prevented. |
|
13 |
|
14 This change has been reported upstream and accepted. |
|
15 |
|
16 See email thread starting at: |
|
17 |
|
18 http://lists.gnu.org/archive/html/bug-gsl/2017-01/msg00010.html |
|
19 |
|
20 |
|
21 --- gsl-2.2.1/linalg/test_cholesky.c.orig 2017-01-10 10:21:58.703790247 +0000 |
|
22 +++ gsl-2.2.1/linalg/test_cholesky.c 2017-01-10 12:42:03.946024028 +0000 |
|
23 @@ -195,7 +195,7 @@ |
|
24 |
|
25 gsl_linalg_cholesky_rcond(V, &rcond, work); |
|
26 |
|
27 - gsl_test_rel(rcond, expected_rcond, 1.0e-10, |
|
28 + gsl_test_rel(rcond, expected_rcond, 1.0e-6, |
|
29 "%s rcond: (%3lu,%3lu): %22.18g %22.18g\n", |
|
30 desc, N, N, rcond, expected_rcond); |
|
31 |
|
32 @@ -235,7 +235,7 @@ |
|
33 |
|
34 create_hilbert_matrix2(m); |
|
35 |
|
36 - test_cholesky_decomp_eps(0, m, expected_rcond, GSL_DBL_EPSILON, "cholesky_decomp unscaled hilbert"); |
|
37 + test_cholesky_decomp_eps(0, m, expected_rcond, N * GSL_DBL_EPSILON, "cholesky_decomp unscaled hilbert"); |
|
38 test_cholesky_decomp_eps(1, m, expected_rcond, N * GSL_DBL_EPSILON, "cholesky_decomp scaled hilbert"); |
|
39 } |
|
40 |
|
41 @@ -786,8 +786,8 @@ |
|
42 gsl_matrix * m = gsl_matrix_alloc(N, N); |
|
43 |
|
44 create_posdef_matrix(m, r); |
|
45 - test_pcholesky_decomp_eps(0, m, -1.0, 20.0 * N * GSL_DBL_EPSILON, "pcholesky_decomp unscaled random"); |
|
46 - test_pcholesky_decomp_eps(1, m, -1.0, 20.0 * N * GSL_DBL_EPSILON, "pcholesky_decomp scaled random"); |
|
47 + test_pcholesky_decomp_eps(0, m, -1.0, 1024.0 * N * GSL_DBL_EPSILON, "pcholesky_decomp unscaled random"); |
|
48 + test_pcholesky_decomp_eps(1, m, -1.0, 1024.0 * N * GSL_DBL_EPSILON, "pcholesky_decomp scaled random"); |
|
49 |
|
50 if (N <= 12) |
|
51 { |
|
52 --- gsl-2.2.1/multilarge_nlinear/test_powell3.c.orig 2017-01-10 10:33:08.905770897 +0000 |
|
53 +++ gsl-2.2.1/multilarge_nlinear/test_powell3.c 2017-01-10 11:23:15.584632882 +0000 |
|
54 @@ -2,7 +2,7 @@ |
|
55 #define powell3_P 2 |
|
56 |
|
57 static double powell3_x0[powell3_P] = { 0.0, 1.0 }; |
|
58 -static double powell3_epsrel = 1.0e-10; |
|
59 +static double powell3_epsrel = 1.0e-8; |
|
60 |
|
61 static double powell3_J[powell3_N * powell3_P]; |
|
62 |
|