You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gilles (JIRA)" <ji...@apache.org> on 2016/03/09 13:43:40 UTC

[jira] [Commented] (MATH-1334) Resurrect Dhillon's algorithm for symmetric eigen-decomposition

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

Gilles commented on MATH-1334:
------------------------------

Patch welcome for the alternative implementation.
But first you might want to ask on the "dev" ML about the reason(s) for the change.

How to integrate the algorithm selection must be discussed on the "dev" ML.
I guess that {{EigenDecomposition}} should then be (again) an interface.

> Resurrect Dhillon's algorithm for symmetric eigen-decomposition
> ---------------------------------------------------------------
>
>                 Key: MATH-1334
>                 URL: https://issues.apache.org/jira/browse/MATH-1334
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 3.6
>            Reporter: Dario Bahena
>
> Hi everyone,
> From version 2.0 => 2.1, we seem to have replaced the algorithm for calculating the eigen-factorization of symmetric matrices. 
> You guys were previously using this specialized algorithm from Mr. Dhillon (plus other stuff):
> "This implementation is based on Inderjit Singh Dhillon thesis A New O(n2) Algorithm for the Symmetric Tridiagonal Eigenvalue/Eigenvector Problem, on Beresford N. Parlett and Osni A. Marques paper An Implementation of the dqds Algorithm (Positive Case) and on the corresponding LAPACK routines (DLARRE, DLASQ2, DLAZQ3, DLAZQ4, DLASQ5 and DLASQ6)."
> Javadoc: https://commons.apache.org/proper/commons-math/javadocs/api-2.0/org/apache/commons/math/linear/EigenDecompositionImpl.html
> but mysteriously, they changed the algorithm on version 2.1; and that seems to have started the trend up to current version 3.6:
> "This implementation is based on the paper by A. Drubrulle, R.S. Martin and J.H. Wilkinson 'The Implicit QL Algorithm' in Wilksinson and Reinsch (1971) Handbook for automatic computation, vol. 2, Linear algebra, Springer-Verlag, New-York"
> https://commons.apache.org/proper/commons-math/javadocs/api-2.1/org/apache/commons/math/linear/EigenDecompositionImpl.html
> https://commons.apache.org/proper/commons-math/javadocs/api-3.6/org/apache/commons/math3/linear/EigenDecomposition.html
> I have tested the version 3.6 and 2.0 (with some manual patches you published), and the difference is quite significant. For a symmetric matrix of  867x867, the times following on my laptop:
> 3.6: around 14 secs
> 2.0: around 3 secs!
> Could we consider bringing back the specialized version for symmetric cases? I sort of feel we lost something here ;-|
> Thanks.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)