You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mahout.apache.org by "Sergey Chickin (JIRA)" <ji...@apache.org> on 2008/04/18 19:26:23 UTC

[jira] Updated: (MAHOUT-45) Matrix QR decomposition

     [ https://issues.apache.org/jira/browse/MAHOUT-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Chickin updated MAHOUT-45:
---------------------------------

    Attachment: MAHOUT-45.patch

I've made an implementation according to http://en.wikipedia.org/wiki/QR_decomposition but I still have a problem: I get an error caused by storing doubles in memory and resulting in calculations error(actually taking square root when calculating vector norm). So we normally get non-integer determinant for matrix of integers(still it's close to desired value)... This can actually result in significant error for big matrix

> Matrix QR decomposition
> -----------------------
>
>                 Key: MAHOUT-45
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-45
>             Project: Mahout
>          Issue Type: Improvement
>          Components: Matrix
>            Reporter: Sergey Chickin
>            Priority: Minor
>         Attachments: MAHOUT-45.patch
>
>
> Matrix QR decomposition and appropriate determinant calculator

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


Re: [jira] Updated: (MAHOUT-45) Matrix QR decomposition

Posted by Ted Dunning <td...@veoh.com>.

Taking the vector norm using the naïve method of adding up the squares and
then taking the square root is known to be problematic in terms of overflow
for very large arguments.  There are always some small problems when using
square-roots since it can be hard to get accuracy to 1ULPS without standing
on your head.

Are you saying that this is the problem?

Can you say more about the error you see?


On 4/18/08 10:26 AM, "Sergey Chickin (JIRA)" <ji...@apache.org> wrote:

> I get an error caused by storing doubles in memory and resulting in
> calculations error(actually taking square root when calculating vector norm)