[ https://issues.apache.org/jira/browse/MATH-1045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13810618#comment-13810618 ]
Thomas Neidhart commented on MATH-1045: --------------------------------------- This is an artifact from the original Jama source code. There was a similar code construct, which has been removed when the code has been translated, but this one remained. Imho it is safe to remove this part also. While checking this I have seen there was a new release of Jama last November with a bugfix for possible infinite loops. Need to check if our code is also affected, but most likely. > EigenDecomposition.Solver should consider tiny values 0 for purposes of > determining singularity > ----------------------------------------------------------------------------------------------- > > Key: MATH-1045 > URL: https://issues.apache.org/jira/browse/MATH-1045 > Project: Commons Math > Issue Type: Bug > Affects Versions: 3.2 > Reporter: Sean Owen > Priority: Minor > Labels: eigenvalue, singular > Fix For: 3.3 > > Attachments: MATH-1045.patch, MATH-1045.patch, MATH-1045_2.patch > > > EigenDecomposition.Solver tests for singularity by comparing eigenvalues to 0 > for exact equality. Elsewhere in the class and in the code, of course, very > small values are considered 0. This causes the solver to consider some > singular matrices as non-singular. > The patch here includes a test as well showing the behavior -- the matrix is > clearly singular but isn't considered as such since one eigenvalue are ~1e-14 > rather than exactly 0. > (What I am not sure of is whether we should really be evaluating the *norm* > of the imaginary eigenvalues rather than real/imag components separately. But > the javadoc says the solver only supports real eigenvalues anyhow, so it's > kind of moot since imag=0 for all eigenvalues.) -- This message was sent by Atlassian JIRA (v6.1#6144)