commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phil Steitz (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MATH-601) SingularValueDecompositionImpl psuedoinverse is not consistent with Rank calculation
Date Sat, 13 Aug 2011 06:24:27 GMT

    [ https://issues.apache.org/jira/browse/MATH-601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13084556#comment-13084556
] 

Phil Steitz commented on MATH-601:
----------------------------------

I just committed (r1157336) a modified version of Chris' patch.  Please review, test and confirm
that it fixes the issue.

Changes to the patch:
0) Incorporated Greg's suggestion to put a floor on tol
1) Made tol final, but not static and explicitly passed it to the Solver constructor.  The
value depends on instance data so should not be static.

> SingularValueDecompositionImpl psuedoinverse is not consistent with Rank calculation
> ------------------------------------------------------------------------------------
>
>                 Key: MATH-601
>                 URL: https://issues.apache.org/jira/browse/MATH-601
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 2.2
>         Environment: All
>            Reporter: greg sterijevski
>            Assignee: Phil Steitz
>              Labels: Pseudoinverse
>             Fix For: 3.0
>
>         Attachments: SingularValueDecompositionImpl.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> In the SingularValueDecompositionImpl's internal private class Solver, a pseudo inverse
matrix is calculated:
> In lines 2600-264 we have:
>                 if (singularValues[i] > 0) {
>                  a = 1 / singularValues[i];
>                 } else {
>                  a = 0;
>                 }
> This is not consistent with the manner in which rank is determined (lines 225 to 233).
That is to say a matrix could potentially be rank deficient, yet the psuedoinverse would still
include the redundant columns... 
> Also, there is the problem of very small singular values which could result in overflow.
 

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

        

Mime
View raw message