From mboxrd@z Thu Jan 1 00:00:00 1970 From: jt@sourceware.cygnus.com To: gsl-cvs@sourceware.cygnus.com Subject: gsl/linalg linalg_simple.c Date: Sun, 17 Oct 1999 23:47:00 -0000 Message-id: <19991018064751.18638.qmail@sourceware.cygnus.com> X-SW-Source: 1999/msg00340.html List-Id: CVSROOT: /cvs/gsl Module name: gsl Changes by: jt@sourceware.cygnus.com 99/10/17 23:47:51 Modified files: linalg : linalg_simple.c Log message: i was trying to use the SVD routine in linalg/linalg_simple.c, and it was producing singular values that were saturating at about 10^-6, even though the true values were much smaller than that. i was able to "fix" the problem by replacing GSL_DBL_EPSILON with GSL_DBL_MIN, but i am suspicious of this solution. perhaps the true test should be GSL_DBL_EPSILON times some scale factor? despite the fact that SVD always seems a little magical to me, and despite the likelihood that it will break some other case, i've gone ahead and cvs commit'd the change. my own testing code, i must confess, is too convoluted to include here, but the test i did was a 10x10 Hilbert matrix: A[i][j] = 1/(i+j+2), i=0..9, j=0..9