You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Christopher Nix (JIRA)" <ji...@apache.org> on 2011/07/23 22:25:09 UTC

[jira] [Updated] (MATH-630) Rank Revealing QR Decomposition missing

     [ https://issues.apache.org/jira/browse/MATH-630?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christopher Nix updated MATH-630:
---------------------------------

    Attachment: RRQRDecomposition.patch

As a starter for ten, I've attached a patch that:

1. Adds an RRQRDecomposition interface extending the current QRDecomposition.  This interface adds a getRank() method and a getP() method to obtain the permutation matrix used in column-pivoting (Are there RRQR implementations that don't column pivot?)

2. Adds a RRQRDecompositionImpl class, implementing the interface above, and extending the QRDecompositionImpl class to make use of existing code.

3. Adapts QRDecompositionImpl to allow access to currently private variables and methods.  I've also split the existing code into a performHouseholderReflection method that is useful to the RRQRDecompositionImpl sub-class.

The getRank() method here is notably quicker than the SingularValueDecompositionImpl method on large random matrices if tried, but I'll admit that I've coded this ad-hoc.

It still needs unit tests.

Hopefully, a small step in the right direction.

Chris

> Rank Revealing QR Decomposition missing
> ---------------------------------------
>
>                 Key: MATH-630
>                 URL: https://issues.apache.org/jira/browse/MATH-630
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 3.0
>            Reporter: Christopher Nix
>            Priority: Minor
>         Attachments: RRQRDecomposition.patch
>
>
> The current QR decomposition implementation performs no column pivoting and is thus not rank revealing.
> A rank revealing QR decomposition could determine rank more efficiently, though not always as reliably, as from the Singular Value Decomposition.  Additionally the rank revealing decomposition can be used in least-squares algorithms on rank-deficient matrices.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira