Am 03.06.2022 um 22:46 schrieb Cottrell, Allin:
On Fri, Jun 3, 2022 at 11:05 AM Sven Schreiber
<svetosch(a)gmx.net> wrote:
> 2) A QR decomposition with pivoting would provide a
rank-revealing
> operation. The natural workaround and alternative way to do this is SVD.
> It is my understanding that SVD would be noticeably slower, however.
> (Correct?)
Maybe, though I gather that for a matrix with a lot more rows than
columns the execution time is not that different.
OK, but I'm thinking more about rank-deficient square matrices.
Note: we currently
assess rank using regular QR, by counting the R elements greater
than
some specified "tiny" value.
Aha? The doc for "rank" says: "numerically computed via the singular
value decomposition" - so that's not true anymore?
And with "the R elements" you mean the ones on the diagonal, or all of
them (plus some assessment of the columns)?
> 3) In Lapack this is given here:
>
https://www.netlib.org/lapack/lug/node42.html, and references the
> routine xGEQP3 (Level 3 BLAS).
There's an interface to that in libgretl's gretl_matrix.c, namely
gretl_matrix_QR_pivot_decomp(), though it's not hooked up to any hansl
function at present.
OK, good to know.
> So, what do you think, how difficult would it be to implement
this, and
> does it make sense?
It "makes sense" OK, and it's already part-way implemented. Whether
it's worthwhile -- I'm agnostic.
Well, let's keep that possibility in mind, then.
thanks
sven