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

Luc Maisonobe commented on MATH-223:
------------------------------------

Thanks.
Could you please have a look at the new implementation on the subversion 
repository, in 2.0 branch ?

Decomposition algorithms are currently being refactored a lot. One important 
modification is to had directly solve method in the decomposition class, thus 
removing the need for most user classes to call the getQ()/getR() or 
getU()/getL() methods.

I am currently working on the Singular Value Decomposition implementation (most 
probably using the wonderful MRRR algorithm). Once this will be done, I intend 
to make a performance improvement pass on all decomposition algorithms, in 
particular looking at cache-efficient implementations. Some ideas may be 
extracted from  http://eprints.ma.man.ac.uk/210/01/covered/MIMS_ep2006_56.pdf 
(this is for bi-diagonalisation and this is using BLAS, but you get the idea).

> QRDecomposition can easily be made to run about twice as fast
> -------------------------------------------------------------
>
>                 Key: MATH-223
>                 URL: https://issues.apache.org/jira/browse/MATH-223
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 1.2
>         Environment: Any
>            Reporter: John Mulcahy
>            Priority: Minor
>         Attachments: QRDecompositionImpl.java
>
>
> The QRDecomposition will run much faster (about twice as fast) if the qr and 
> Q matrices are calculated as their transposes and the transposition is sorted 
> out in the getQ() method. Using the transposes allows the loops to iterate 
> over rows of the transposed matrices rather than columns. It might also be 
> useful to cache the Q matrix locally when it is generated in case there are 
> any subsequent calls to getQ() as this is the most expensive part of the 
> decomposition.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to