This is the mail archive of the gsl-discuss@sources.redhat.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Help developing a "better" QRPT routine


I was wondering if there is any interest in revamping, or providing
alternative QRPT routines.

Since QRPT is commonly used to solve rank-deficient systems it would be
nice if GSL QRPT returned matrix rank, and didn't change the permutation
vector unless A was truly rank deficient.

For matrix rank, I've been using the method of counting the non-zero
elements along the QR diagonal (or R_1).                                  
                                                                          
   A new function, gsl_linalg_QRPT_rank(gsl_matrix *QR), could do this,
but it would be better if the rank was computed during decomposition.

The GNU R-project has a very interesting Fortran QRPT that is a modified
LAPACK dqrdc.f.  It calculates the matrix rank, and also uses a pivoting
strategy that does not alter the permutation vector if A is already of
full rank.

I can write the code, however I'm only a student of these methods so I'd
need some help clarifying and translating the intent of the Fortran
routine.

I'll provide the Fortran dqrdc2.f code to any one willing to work with me
on this.

-Rob




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]