Hi Patrick, thank you for the paper. I do actually proceed by comparing this paper and the algorithms in "Matrix Computations fourth Edition", Golub and Loan with the code in https://github.com/ampl/gsl/blob/master/linalg/svd.c <https://github.com/ampl/gsl/blob/master/linalg/svd.c#L117> *which should be working*. This is why the the gls code has to be fully understood, especially in its, apparenty, odd implementation, like this strange cycle
Marco 2017-06-19 11:35 GMT+02:00 Patrick Alken <[email protected]>: > I don't know the answer to your question, but its probably more helpful > to take a look at the SVD algorithm description in Golub and Van Loan, > on which the GSL code is probably based. Also its probably worthwhile to > look at the original paper, which I found here: > > http://people.duke.edu/~hpgavin/SystemID/References/ > Golub+Reinsch-NM-1970.pdf > > There is a complete pseudo-code writeup given in section 4. > > Patrick > > On 06/16/2017 04:19 PM, Marco Ippolito wrote: > > Hi all > > I do not undderstand this while cycle : > > https://github.com/ampl/gsl/blob/master/linalg/svd.c#L117 > > > > It seems to me that the only time when b is decremented is here: > > https://github.com/ampl/gsl/blob/master/linalg/svd.c#L123 > > so when fbm1 == 0.0 where fb1 is the value of f at index = b-1 : > > https://github.com/ampl/gsl/blob/master/linalg/svd.c#L119 > > > > Since I'm trying to write my own C++11 code based on GSL code, I would > like > > to understand how it can work. > > Any ideas? > > > > Looking forward to your kind help. > > Marco > > > >
