Added script front-end for primer-design code
[htsworkflow.git] / htswanalysis / MACS / lib / gsl / gsl-1.11 / linalg / ChangeLog
1 2007-08-27  Brian Gough  <bjg@network-theory.co.uk>
2
3         * tridiag.c: use GSL_ERROR for failed allocation, signal
4          GSL_EZERODIV if matrix is not positive definite
5
6 2007-08-17  Brian Gough  <bjg@network-theory.co.uk>
7
8         * svd.c (gsl_linalg_SV_decomp): bail out if number of iterations
9         exceeds 100*N
10
11 2007-08-16  Brian Gough  <bjg@network-theory.co.uk>
12
13         * test.c (main): add some svd tests with small values that will
14         cause underflow in intermediate steps of SVD iteration
15
16 2006-08-14  Brian Gough  <bjg@network-theory.co.uk>
17
18         * balancemat.c: balance a general matrix D^-1 A D for rows and
19         columns
20
21 2006-04-24  Brian Gough  <bjg@network-theory.co.uk>
22
23         * svdstep.c apply_givens.c householder.c: perform linear
24         operations with level-1 blas when compiled with USE_BLAS.
25         
26 2006-02-10  Brian Gough  <bjg@network-theory.co.uk>
27
28         * cholesky.c (quiet_sqrt): added a quiet_sqrt to allow checking
29         for positive definiteness without a runtime error
30
31 2005-08-22  Brian Gough  <bjg@network-theory.co.uk>
32
33         * svd.c (gsl_linalg_SV_decomp_jacobi): reorganised convergence
34         tests to increase robustness in the presence of extended precision
35         registers.
36
37 2005-06-22  Brian Gough  <bjg@network-theory.co.uk>
38
39         * svd.c (gsl_linalg_SV_decomp_jacobi): increased number of sweeps
40         to MAX(5*N,12) and track numerical errors for better termination
41
42 2005-02-02  Brian Gough  <bjg@network-theory.co.uk>
43
44         * svd.c (gsl_linalg_SV_decomp_jacobi): changed M<N test to correct
45         matrix A instead of Q.
46
47 2004-12-23  Brian Gough  <bjg@network-theory.co.uk>
48
49         * qr.c (gsl_linalg_R_svx): added missing function
50
51 2004-09-13  Brian Gough  <bjg@network-theory.co.uk>
52
53         * test.c: added tests for LQ, P^TLQ solvers
54
55         * ptlq.c: added support for PA = LQ decompositions
56
57         * lq.c: added support for A = LQ decompositions
58
59 2004-05-30  Brian Gough  <bjg@network-theory.co.uk>
60
61         * test.c (test_LU_solve): increase test tolerance to accommodate
62         gcc-3.3.3 w/ bounds checking
63
64 2004-05-26  Brian Gough  <bjg@network-theory.co.uk>
65
66         * householder.c (gsl_linalg_householder_hm):
67         (gsl_linalg_householder_mh):
68         (gsl_linalg_householder_hm1): added blas code (but ifdef'd out)
69
70         * test.c (test_SV_decomp_dim): skip NaNs in test
71         (test_SV_decomp_mod_dim): skip NaNs in test
72
73 2004-04-26  Brian Gough  <bjg@network-theory.co.uk>
74
75         * test.c (test_TDN_solve): increased tolerance for tests
76         (test_TDN_cyc_solve): increased tolerance for tests
77
78 2004-03-15  Brian Gough  <bjg@network-theory.co.uk>
79
80         * tridiag.c: (gsl_linalg_solve_symm_tridiag):
81         (gsl_linalg_solve_tridiag):
82         (gsl_linalg_solve_symm_cyc_tridiag):
83         (gsl_linalg_solve_cyc_tridiag): use GSL_ERROR macro to report
84         errors, make size restrictions tighter (no unused elements allowed
85         to be passed in).
86
87 2004-03-06  Brian Gough  <bjg@network-theory.co.uk>
88
89         * test.c (test_SV_decomp_mod_dim): added tests for SV_decomp_mod
90
91         * svd.c (gsl_linalg_SV_decomp): handle the case N=1 (SVD of a
92         column vector)
93         (gsl_linalg_SV_decomp_mod): handle the case N=1 (SVD of a column
94         vector)
95
96 2004-03-05  Brian Gough  <bjg@network-theory.co.uk>
97
98         * test.c (test_SV_decomp): add tests with inf/nan
99
100         * svd.c (gsl_linalg_SV_decomp): handle nans in block reduction
101
102         * balance.c: handle infinity/nan when scaling input matrix
103
104 2003-07-24  Brian Gough  <bjg@network-theory.co.uk>
105
106         * tridiag.c (solve_cyc_tridiag_nonsym): fixed declarations of i so
107         they do not shadow each other
108
109 2003-05-30  Brian Gough  <bjg@network-theory.co.uk>
110
111         * householder.c (gsl_linalg_householder_hv): converted to use blas
112         routines
113
114 2003-05-08  Brian Gough  <bjg@network-theory.co.uk>
115
116         * test.c: added tests for QR_QRsolve and QRPT_QRsolve
117
118         * qrpt.c (gsl_linalg_QRPT_QRsolve): fixed dgemv to use CblasTrans
119         when computing Q^T b
120
121         * qr.c (gsl_linalg_QR_QRsolve): fixed dgemv to use CblasTrans when
122         computing Q^T b
123
124 Fri Oct 18 17:46:30 2002  Brian Gough  <bjg@network-theory.co.uk>
125
126         * householdercomplex.c (gsl_linalg_complex_householder_transform):
127         return tau = 0 to prevent division by zero for beta_r = 0
128
129 Mon Aug 12 20:12:55 2002  Brian Gough  <bjg@network-theory.co.uk>
130
131         * bidiag.c (gsl_linalg_bidiag_unpack_B): fixed to copy
132         superdiagonal and not subdiagonal, as was incorrectly done
133         previously.
134
135 Sun Jun 16 11:57:00 2002  Brian Gough  <bjg@network-theory.co.uk>
136
137         * svd.c (gsl_linalg_SV_decomp): keep track of maximum value
138         correctly when sorting singular values
139
140         * test.c (test_SV_decomp): add 3x3 of SVD
141
142         * svdstep.c (chase_out_intermediate_zero): handle case of dk=0
143         (chase_out_trailing_zero): handle case of dn=0
144
145 Wed Apr 17 20:04:11 2002  Brian Gough  <bjg@network-theory.co.uk>
146
147         * tridiag.c (gsl_linalg_solve_tridiag):
148         (gsl_linalg_solve_cyc_tridiag): added tridiagonal solvers for
149         non-symmetric case (David Necas <yeti@physics.muni.cz>)
150
151 Mon Apr 15 19:55:40 2002  Brian Gough  <bjg@network-theory.co.uk>
152
153         * tridiag.c (solve_cyc_tridiag): corrected typographical error in
154         Engeln-Mullges Algorithm 4.35, step 1.7 (f_(n-1) should be
155         alpha_(n-1))
156
157 Thu Sep 13 12:26:17 2001  Brian Gough  <bjg@network-theory.co.uk>
158
159         * test.c (test_SV_decomp): added brute force testing of 2x2 svd
160
161         * svdstep.c (svd2): fixed bug where singular values in 2x2 svd
162         were not ordered correctly.
163
164 Mon Sep 10 22:35:24 2001  Brian Gough  <bjg@network-theory.co.uk>
165
166         * test.c (test_LUc_solve): added a test for complex LU
167
168 Tue Sep  4 17:22:58 2001  Brian Gough  <bjg@network-theory.co.uk>
169
170         * luc.c: added LU decomposition for complex matrices
171
172 Wed Aug 29 16:34:50 2001  Brian Gough  <bjg@network-theory.co.uk>
173
174         * svd.c (gsl_linalg_SV_decomp_jacobi): make sure all singular
175         vectors are zero, not just first.
176
177         * svdstep.c (svd2): added explicit calculation of 2x2 svd, fixes
178         bug that prevents convergence.
179
180 Thu Aug  2 18:19:08 2001  Brian Gough  <bjg@network-theory.co.uk>
181
182         * svdstep.c (trailing_eigenvalue): chose better value of mu when
183         dt=0.
184
185 Sun Jul  8 18:03:05 2001  Brian Gough  <bjg@network-theory.co.uk>
186
187         * qrpt.c (gsl_linalg_QRPT_decomp): fix bug where null column
188         caused division by zero in norm-update calculation
189
190 Sun Jul  1 22:43:22 2001  Brian Gough  <bjg@network-theory.co.uk>
191
192         * modified to use new-style vector views, affects most
193         functions
194
195 Wed Jun 20 13:38:24 2001  Brian Gough  <bjg@network-theory.co.uk>
196
197         * svd.c (gsl_linalg_SV_decomp): added error checking
198
199 Tue Jun 19 23:19:49 2001  Brian Gough  <bjg@network-theory.co.uk>
200
201         * svd.c (gsl_linalg_SV_decomp): Golub-Reinsch svd, has more
202         deterministic convergence
203         (gsl_linalg_SV_decomp_mod):  Golub-Reinsch with
204         Preconditioning, much more efficient for M>>N
205
206         * balance.c (gsl_linalg_balance_columns): balances (or
207         "equilibrates") the columns of a matrix
208
209 Sun Jun 17 21:49:03 2001  Brian Gough  <bjg@network-theory.co.uk>
210
211         * givens.c: split out apply_givens functions into separate file
212         apply_givens.c
213
214 Wed Jun 13 23:41:34 2001  Brian Gough  <bjg@network-theory.co.uk>
215
216         * qr.c (gsl_linalg_QR_decomp): simplified reverse loop
217
218         * bidiag.c: bidiagonalisation of a matrix (needed for
219         Golub-Reinsch SVD)
220
221 Wed Jun  6 12:36:58 2001  Brian Gough  <bjg@network-theory.co.uk>
222
223         * householdercomplex.c: split out complex functions into a
224         separate file to reduce linking dependencies
225
226         * qrpt.c (gsl_linalg_QRPT_decomp): provide workspace as an
227         argument, to avoid allocating it on each call
228         (gsl_linalg_QRPT_decomp2): provide workspace as an argument, to
229         avoid allocating it on each call
230
231         * qr.c (gsl_linalg_QR_decomp): provide workspace as an argument,
232         to avoid allocating it on each call
233
234 Thu May 17 17:01:45 2001  Brian Gough  <bjg@network-theory.co.uk>
235
236         * qr.c (gsl_linalg_QR_lssolve): added least squares solver
237
238 Sat Apr 28 00:39:53 2001  Brian Gough  <bjg@network-theory.co.uk>
239
240         * qr.c (gsl_linalg_QR_update): fixed QR update to work correctly
241         with rectangular matrices where M > N
242
243 Mon Apr 23 10:29:01 2001  Brian Gough  <bjg@network-theory.co.uk>
244
245         * tridiag.c: removed EFAULT test since this should only apply to
246         non-null invalid pointers
247
248 Fri Apr 13 20:43:38 2001  Brian Gough  <bjg@network-theory.co.uk>
249
250         * test.c: replaced uses of matmult by dgemm
251
252 Sun Oct 22 13:56:30 2000  Brian Gough  <bjg@network-theory.co.uk>
253
254         * householder.c (gsl_linalg_householder_transform): changed calls
255         to gsl_hypot() to hypot() so that the system function is used in
256         preference (the configure script will define hypot to gsl_hypot if
257         hypot is unavailable)
258
259         * svd.c (gsl_linalg_SV_decomp): changed calls to gsl_hypot() to
260         hypot()
261
262 Sat Oct 21 15:54:56 2000  Brian Gough  <bjg@network-theory.co.uk>
263
264         * tridiag.c (solve_tridiag): prevent out-of-bounds array access
265         for small N (attempt to access element[N-2] when N is 1).
266
267 Tue Sep 19 21:42:13 2000  Brian Gough  <bjg@network-theory.co.uk>
268
269         * qrpt.c (gsl_linalg_QRPT_decomp2): added convenience function to
270         compute q,r unpacked decomposition directly
271
272 Wed Aug 16 19:50:35 2000  Brian Gough  <bjg@network-theory.co.uk>
273
274         * svd.c (gsl_linalg_SV_decomp): take more care with singular
275         values, set the associated vectors to zero
276
277 Sun Aug 13 16:39:40 2000  Brian Gough  <bjg@network-theory.co.uk>
278
279         * qrpt.c (gsl_linalg_QRPT_decomp): fixed obvious bug in selection
280         of column with max norm
281
282 Wed May 31 19:42:59 2000  Brian Gough  <bjg@network-theory.co.uk>
283
284         * test.c (test_QR_update): increased tolerances on results to
285         allow tests to pass with other compilers
286
287 Wed May  3 21:19:45 2000  Brian Gough  <bjg@network-theory.co.uk>
288
289         * cholesky.c: added cholesky decomposition/solve from Thomas
290         Walter. Modified for GSL.
291
292 Fri Apr 28 17:13:00 2000  Brian Gough  <bjg@network-theory.co.uk>
293
294         * renamed all matrices to use upper case variable names, e.g. A
295
296 Thu Apr 27 20:31:46 2000  Brian Gough  <bjg@network-theory.co.uk>
297
298         * test.c: tightened up accuracy of the decomp test
299
300         * test_la.c: renamed to test.c for consistency
301         (test_QR_decomp): added the "moler" matrix as a test for SVD
302
303         * svd.c (gsl_linalg_SV_decomp): improved the convergence criterion
304         for rank deficient case.
305
306 Wed Apr 26 19:37:46 2000  Brian Gough  <bjg@network-theory.co.uk>
307
308         * renamed rhs -> b, and solution -> x throughout for consistency
309
310 Mon Apr 24 17:04:52 2000  Brian Gough  <bjg@network-theory.co.uk>
311
312         * test_la.c (main): added tests for MxN matrices
313         
314         * test_la.c (main): added tests for SV decomposition and solve.
315
316         * svd.c (gsl_linalg_SV_decomp): made use of vector row/column
317         functions, tidied up the algorithm a bit. Use a standard tolerance
318         of 10*GSL_DBL_EPSILON.
319         (gsl_linalg_SV_solve): added a least squares solver
320
321 Sun Apr 23 21:18:04 2000  Brian Gough  <bjg@network-theory.co.uk>
322
323         * gsl_linalg.h, svd.c (gsl_linalg_SV_decomp): changed function
324         name to new naming convention
325
326         * qr.c (gsl_linalg_QR_unpack): fixed index ranges for rectangular
327         case when unpacking R
328
329 Sat Apr 22 15:05:21 2000  Brian Gough  <bjg@network-theory.co.uk>
330
331         * matrix.c: removed, equivalent functions now in matrix directory
332
333 Sat Mar 11 17:36:33 2000  Brian Gough  <bjg@network-theory.co.uk>
334
335         * multiply.c: removed _impl from these functions since all the
336         errors they can return are fatal.
337
338 Wed Feb 16 12:03:00 2000  Brian Gough  <bjg@network-theory.co.uk>
339
340         * multiply.c (gsl_la_matmult_mod_impl): fixed error in transposed
341         matrix memory access, expressions should always be of the form
342         M->data[i*M->size2 + j] even when i,j are transposed.
343
344         Safer to replace matrix access by gsl_matrix_set and
345         gsl_matrix_get, which is what I have done now. Shouldn't be any
346         cost in the production version of the library where we have
347         inlines and range checking off.
348
349 Tue Feb 15 17:46:19 2000  Brian Gough  <bjg@network-theory.co.uk>
350
351         * tridiag.h (solve_cyc_tridiag): fixed typo in header, was
352         solve_cyctridiag, missing _.
353
354         * converted all functions to use gsl_permutation instead of
355         gsl_vector_int
356
357 Fri Oct  1 15:51:02 1999  Brian Gough  <bjg@network-theory.co.uk>
358
359         * temporary changes resulting from changes to block/vector/matrix
360         organization
361
362 Fri Aug  6 14:42:23 1999  Brian Gough  <bjg@network-theory.co.uk>
363
364         * linalg_simple.c: include <string.h> to declare memcpy
365