URL: <http://savannah.gnu.org/bugs/?52321>
Summary: gsl_linalg_bidiag_unpack2 functioan has wrong householder transform call for V in GSL1.8 Project: GNU Scientific Library Submitted by: psa Submitted on: Wed 01 Nov 2017 09:05:27 AM UTC Category: Runtime error Severity: 3 - Normal Operating System: Status: None Assigned to: None Open/Closed: Open Release: Discussion Lock: Any _______________________________________________________ Details: from actionafterthought =at= gmail =dot= com 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); } _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?52321> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/