Update of bug #28767 (project gsl):
Status: Confirmed => Fixed
Open/Closed: Open => Closed
_______________________________________________________
Follow-up Comment #2:
fixed by commit 7946d551c30943f38bfcd1c31e109919e12fbe5a
fix for bug #28767: gsl_linalg_SV_decomp gives NaN when tb, tab, dt = 0
nans were generated in gsl_linalg_householder_transform from overflow
in 1/(alpha-beta) when alpha=0 and beta is subnormal.
nans were also generated in trailing_eigenvalue when dt=0 and tab=0.
It was also possible to generate negative mu from cancellation error.
Since we know the roots are non-negative and have the underlying
expressions for them we can calculate them without cancellation error
using only positive terms.
in gsl_linalg_SV_decomp we can avoid a lot of numerical problems by
rescaling the bidiagonal matrix before carrying out the implicit shift
procedure. Following LAPACK's QR eigenvalue routine, we rescale if the
max abs value A is in the range A > sqrt(DBL_MAX) or 0 < A <
sqrt(DBL_MIN).
added a test case for bug #28767, added check for nans when none
present in input, added subnormal matrix that triggers potential
overflow in gsl_linalg_householder_transform.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?28767>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-gsl mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-gsl