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

Sean Owen commented on MATH-1045:
---------------------------------

This is a separate issue, but so minor not sure if it merits another JIRA. 
While looking at this code I noticed this loop at EigenDecomposition:945 that 
does nothing:

        // Vectors of isolated roots
        for (int i = 0; i < n; i++) {
            if (i < 0 | i > n - 1) {
                for (int j = i; j < n; j++) {
                    matrixP[i][j] = matrixT[i][j];
                }
            }
        }

The 'if' can never be true. (Not to mention non-short-circuit boolean op there.)

> 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)

Reply via email to