bug-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-gsl] [bug #28767] gsl_linalg_SV_decomp gives NaN when tb, tab, dt =


From: Brian Gough
Subject: [Bug-gsl] [bug #28767] gsl_linalg_SV_decomp gives NaN when tb, tab, dt = 0
Date: Wed, 24 Feb 2010 17:43:59 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.0.11) Gecko/2009061118 Fedora/3.0.11-1.fc9 Firefox/3.0.11

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/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]