This is the mail archive of the
gsl-discuss@sources.redhat.com
mailing list for the GSL project.
Help developing a "better" QRPT routine
- From: <rlee at fpcc dot net>
- To: <gsl-discuss at sources dot redhat dot com>
- Date: Sun, 9 Nov 2003 10:48:59 -0700 (MST)
- Subject: 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