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