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, 3.0
         Environment: All
            Reporter: greg sterijevski


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

        

Reply via email to