bug-gsl
[Top][All Lists]
Advanced

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

[Bug-gsl] BUG: gsl_linalg_bidiag_unpack2 functioan has wrong householder


From: Yongqiang Li
Subject: [Bug-gsl] BUG: gsl_linalg_bidiag_unpack2 functioan has wrong householder transform call for V in GSL1.8
Date: Sun, 9 Jul 2017 21:21:54 -0700

Hey,

This bug might have been fixed. Since it is in GSL 1.8 source. And it is 
noticed that the wrong householder transform
Function call is made for a row vector from V (see below code). And the correct 
function call for highlighted line is
supposed to be:

gsl_linalg_householder_mh (ti, &h.vector, &m.matrix);

int
gsl_linalg_bidiag_unpack2 (gsl_matrix * A, 
                           gsl_vector * tau_U, 
                           gsl_vector * tau_V,
                           gsl_matrix * V)
{
…

      /* Initialize V to the identity */

      gsl_matrix_set_identity (V);

      for (i = N - 1; i > 0 && i--;)
        {
          /* Householder row transformation to accumulate V */
          gsl_vector_const_view r = gsl_matrix_const_row (A, i);
          gsl_vector_const_view h = 
            gsl_vector_const_subvector (&r.vector, i + 1, N - (i+1));
          
          double ti = gsl_vector_get (tau_V, i);
          
          gsl_matrix_view m = 
            gsl_matrix_submatrix (V, i + 1, i + 1, N-(i+1), N-(i+1));
          
          gsl_linalg_householder_hm (ti, &h.vector, &m.matrix);
        }

Sent from Mail for Windows 10



reply via email to

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