blob: f454b25a80ba73bb218db928ec122d00deac121b [file] [log] [blame]
2006-08-14 Brian Gough <bjg@network-theory.co.uk>
* balancemat.c: balance a general matrix D^-1 A D for rows and
columns
2006-04-24 Brian Gough <bjg@network-theory.co.uk>
* svdstep.c apply_givens.c householder.c: perform linear
operations with level-1 blas when compiled with USE_BLAS.
2006-02-10 Brian Gough <bjg@network-theory.co.uk>
* cholesky.c (quiet_sqrt): added a quiet_sqrt to allow checking
for positive definiteness without a runtime error
2005-08-22 Brian Gough <bjg@network-theory.co.uk>
* svd.c (gsl_linalg_SV_decomp_jacobi): reorganised convergence
tests to increase robustness in the presence of extended precision
registers.
2005-06-22 Brian Gough <bjg@network-theory.co.uk>
* svd.c (gsl_linalg_SV_decomp_jacobi): increased number of sweeps
to MAX(5*N,12) and track numerical errors for better termination
2005-02-02 Brian Gough <bjg@network-theory.co.uk>
* svd.c (gsl_linalg_SV_decomp_jacobi): changed M<N test to correct
matrix A instead of Q.
2004-12-23 Brian Gough <bjg@network-theory.co.uk>
* qr.c (gsl_linalg_R_svx): added missing function
2004-09-13 Brian Gough <bjg@network-theory.co.uk>
* test.c: added tests for LQ, P^TLQ solvers
* ptlq.c: added support for PA = LQ decompositions
* lq.c: added support for A = LQ decompositions
2004-05-30 Brian Gough <bjg@network-theory.co.uk>
* test.c (test_LU_solve): increase test tolerance to accommodate
gcc-3.3.3 w/ bounds checking
2004-05-26 Brian Gough <bjg@network-theory.co.uk>
* householder.c (gsl_linalg_householder_hm):
(gsl_linalg_householder_mh):
(gsl_linalg_householder_hm1): added blas code (but ifdef'd out)
* test.c (test_SV_decomp_dim): skip NaNs in test
(test_SV_decomp_mod_dim): skip NaNs in test
2004-04-26 Brian Gough <bjg@network-theory.co.uk>
* test.c (test_TDN_solve): increased tolerance for tests
(test_TDN_cyc_solve): increased tolerance for tests
2004-03-15 Brian Gough <bjg@network-theory.co.uk>
* tridiag.c: (gsl_linalg_solve_symm_tridiag):
(gsl_linalg_solve_tridiag):
(gsl_linalg_solve_symm_cyc_tridiag):
(gsl_linalg_solve_cyc_tridiag): use GSL_ERROR macro to report
errors, make size restrictions tighter (no unused elements allowed
to be passed in).
2004-03-06 Brian Gough <bjg@network-theory.co.uk>
* test.c (test_SV_decomp_mod_dim): added tests for SV_decomp_mod
* svd.c (gsl_linalg_SV_decomp): handle the case N=1 (SVD of a
column vector)
(gsl_linalg_SV_decomp_mod): handle the case N=1 (SVD of a column
vector)
2004-03-05 Brian Gough <bjg@network-theory.co.uk>
* test.c (test_SV_decomp): add tests with inf/nan
* svd.c (gsl_linalg_SV_decomp): handle nans in block reduction
* balance.c: handle infinity/nan when scaling input matrix
2003-07-24 Brian Gough <bjg@network-theory.co.uk>
* tridiag.c (solve_cyc_tridiag_nonsym): fixed declarations of i so
they do not shadow each other
2003-05-30 Brian Gough <bjg@network-theory.co.uk>
* householder.c (gsl_linalg_householder_hv): converted to use blas
routines
2003-05-08 Brian Gough <bjg@network-theory.co.uk>
* test.c: added tests for QR_QRsolve and QRPT_QRsolve
* qrpt.c (gsl_linalg_QRPT_QRsolve): fixed dgemv to use CblasTrans
when computing Q^T b
* qr.c (gsl_linalg_QR_QRsolve): fixed dgemv to use CblasTrans when
computing Q^T b
Fri Oct 18 17:46:30 2002 Brian Gough <bjg@network-theory.co.uk>
* householdercomplex.c (gsl_linalg_complex_householder_transform):
return tau = 0 to prevent division by zero for beta_r = 0
Mon Aug 12 20:12:55 2002 Brian Gough <bjg@network-theory.co.uk>
* bidiag.c (gsl_linalg_bidiag_unpack_B): fixed to copy
superdiagonal and not subdiagonal, as was incorrectly done
previously.
Sun Jun 16 11:57:00 2002 Brian Gough <bjg@network-theory.co.uk>
* svd.c (gsl_linalg_SV_decomp): keep track of maximum value
correctly when sorting singular values
* test.c (test_SV_decomp): add 3x3 of SVD
* svdstep.c (chase_out_intermediate_zero): handle case of dk=0
(chase_out_trailing_zero): handle case of dn=0
Wed Apr 17 20:04:11 2002 Brian Gough <bjg@network-theory.co.uk>
* tridiag.c (gsl_linalg_solve_tridiag):
(gsl_linalg_solve_cyc_tridiag): added tridiagonal solvers for
non-symmetric case (David Necas <yeti@physics.muni.cz>)
Mon Apr 15 19:55:40 2002 Brian Gough <bjg@network-theory.co.uk>
* tridiag.c (solve_cyc_tridiag): corrected typographical error in
Engeln-Mullges Algorithm 4.35, step 1.7 (f_(n-1) should be
alpha_(n-1))
Thu Sep 13 12:26:17 2001 Brian Gough <bjg@network-theory.co.uk>
* test.c (test_SV_decomp): added brute force testing of 2x2 svd
* svdstep.c (svd2): fixed bug where singular values in 2x2 svd
were not ordered correctly.
Mon Sep 10 22:35:24 2001 Brian Gough <bjg@network-theory.co.uk>
* test.c (test_LUc_solve): added a test for complex LU
Tue Sep 4 17:22:58 2001 Brian Gough <bjg@network-theory.co.uk>
* luc.c: added LU decomposition for complex matrices
Wed Aug 29 16:34:50 2001 Brian Gough <bjg@network-theory.co.uk>
* svd.c (gsl_linalg_SV_decomp_jacobi): make sure all singular
vectors are zero, not just first.
* svdstep.c (svd2): added explicit calculation of 2x2 svd, fixes
bug that prevents convergence.
Thu Aug 2 18:19:08 2001 Brian Gough <bjg@network-theory.co.uk>
* svdstep.c (trailing_eigenvalue): chose better value of mu when
dt=0.
Sun Jul 8 18:03:05 2001 Brian Gough <bjg@network-theory.co.uk>
* qrpt.c (gsl_linalg_QRPT_decomp): fix bug where null column
caused division by zero in norm-update calculation
Sun Jul 1 22:43:22 2001 Brian Gough <bjg@network-theory.co.uk>
* modified to use new-style vector views, affects most
functions
Wed Jun 20 13:38:24 2001 Brian Gough <bjg@network-theory.co.uk>
* svd.c (gsl_linalg_SV_decomp): added error checking
Tue Jun 19 23:19:49 2001 Brian Gough <bjg@network-theory.co.uk>
* svd.c (gsl_linalg_SV_decomp): Golub-Reinsch svd, has more
deterministic convergence
(gsl_linalg_SV_decomp_mod): Golub-Reinsch with
Preconditioning, much more efficient for M>>N
* balance.c (gsl_linalg_balance_columns): balances (or
"equilibrates") the columns of a matrix
Sun Jun 17 21:49:03 2001 Brian Gough <bjg@network-theory.co.uk>
* givens.c: split out apply_givens functions into separate file
apply_givens.c
Wed Jun 13 23:41:34 2001 Brian Gough <bjg@network-theory.co.uk>
* qr.c (gsl_linalg_QR_decomp): simplified reverse loop
* bidiag.c: bidiagonalisation of a matrix (needed for
Golub-Reinsch SVD)
Wed Jun 6 12:36:58 2001 Brian Gough <bjg@network-theory.co.uk>
* householdercomplex.c: split out complex functions into a
separate file to reduce linking dependencies
* qrpt.c (gsl_linalg_QRPT_decomp): provide workspace as an
argument, to avoid allocating it on each call
(gsl_linalg_QRPT_decomp2): provide workspace as an argument, to
avoid allocating it on each call
* qr.c (gsl_linalg_QR_decomp): provide workspace as an argument,
to avoid allocating it on each call
Thu May 17 17:01:45 2001 Brian Gough <bjg@network-theory.co.uk>
* qr.c (gsl_linalg_QR_lssolve): added least squares solver
Sat Apr 28 00:39:53 2001 Brian Gough <bjg@network-theory.co.uk>
* qr.c (gsl_linalg_QR_update): fixed QR update to work correctly
with rectangular matrices where M > N
Mon Apr 23 10:29:01 2001 Brian Gough <bjg@network-theory.co.uk>
* tridiag.c: removed EFAULT test since this should only apply to
non-null invalid pointers
Fri Apr 13 20:43:38 2001 Brian Gough <bjg@network-theory.co.uk>
* test.c: replaced uses of matmult by dgemm
Sun Oct 22 13:56:30 2000 Brian Gough <bjg@network-theory.co.uk>
* householder.c (gsl_linalg_householder_transform): changed calls
to gsl_hypot() to hypot() so that the system function is used in
preference (the configure script will define hypot to gsl_hypot if
hypot is unavailable)
* svd.c (gsl_linalg_SV_decomp): changed calls to gsl_hypot() to
hypot()
Sat Oct 21 15:54:56 2000 Brian Gough <bjg@network-theory.co.uk>
* tridiag.c (solve_tridiag): prevent out-of-bounds array access
for small N (attempt to access element[N-2] when N is 1).
Tue Sep 19 21:42:13 2000 Brian Gough <bjg@network-theory.co.uk>
* qrpt.c (gsl_linalg_QRPT_decomp2): added convenience function to
compute q,r unpacked decomposition directly
Wed Aug 16 19:50:35 2000 Brian Gough <bjg@network-theory.co.uk>
* svd.c (gsl_linalg_SV_decomp): take more care with singular
values, set the associated vectors to zero
Sun Aug 13 16:39:40 2000 Brian Gough <bjg@network-theory.co.uk>
* qrpt.c (gsl_linalg_QRPT_decomp): fixed obvious bug in selection
of column with max norm
Wed May 31 19:42:59 2000 Brian Gough <bjg@network-theory.co.uk>
* test.c (test_QR_update): increased tolerances on results to
allow tests to pass with other compilers
Wed May 3 21:19:45 2000 Brian Gough <bjg@network-theory.co.uk>
* cholesky.c: added cholesky decomposition/solve from Thomas
Walter. Modified for GSL.
Fri Apr 28 17:13:00 2000 Brian Gough <bjg@network-theory.co.uk>
* renamed all matrices to use upper case variable names, e.g. A
Thu Apr 27 20:31:46 2000 Brian Gough <bjg@network-theory.co.uk>
* test.c: tightened up accuracy of the decomp test
* test_la.c: renamed to test.c for consistency
(test_QR_decomp): added the "moler" matrix as a test for SVD
* svd.c (gsl_linalg_SV_decomp): improved the convergence criterion
for rank deficient case.
Wed Apr 26 19:37:46 2000 Brian Gough <bjg@network-theory.co.uk>
* renamed rhs -> b, and solution -> x throughout for consistency
Mon Apr 24 17:04:52 2000 Brian Gough <bjg@network-theory.co.uk>
* test_la.c (main): added tests for MxN matrices
* test_la.c (main): added tests for SV decomposition and solve.
* svd.c (gsl_linalg_SV_decomp): made use of vector row/column
functions, tidied up the algorithm a bit. Use a standard tolerance
of 10*GSL_DBL_EPSILON.
(gsl_linalg_SV_solve): added a least squares solver
Sun Apr 23 21:18:04 2000 Brian Gough <bjg@network-theory.co.uk>
* gsl_linalg.h, svd.c (gsl_linalg_SV_decomp): changed function
name to new naming convention
* qr.c (gsl_linalg_QR_unpack): fixed index ranges for rectangular
case when unpacking R
Sat Apr 22 15:05:21 2000 Brian Gough <bjg@network-theory.co.uk>
* matrix.c: removed, equivalent functions now in matrix directory
Sat Mar 11 17:36:33 2000 Brian Gough <bjg@network-theory.co.uk>
* multiply.c: removed _impl from these functions since all the
errors they can return are fatal.
Wed Feb 16 12:03:00 2000 Brian Gough <bjg@network-theory.co.uk>
* multiply.c (gsl_la_matmult_mod_impl): fixed error in transposed
matrix memory access, expressions should always be of the form
M->data[i*M->size2 + j] even when i,j are transposed.
Safer to replace matrix access by gsl_matrix_set and
gsl_matrix_get, which is what I have done now. Shouldn't be any
cost in the production version of the library where we have
inlines and range checking off.
Tue Feb 15 17:46:19 2000 Brian Gough <bjg@network-theory.co.uk>
* tridiag.h (solve_cyc_tridiag): fixed typo in header, was
solve_cyctridiag, missing _.
* converted all functions to use gsl_permutation instead of
gsl_vector_int
Fri Oct 1 15:51:02 1999 Brian Gough <bjg@network-theory.co.uk>
* temporary changes resulting from changes to block/vector/matrix
organization
Fri Aug 6 14:42:23 1999 Brian Gough <bjg@network-theory.co.uk>
* linalg_simple.c: include <string.h> to declare memcpy