You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mahout.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2011/01/15 19:32:46 UTC

[jira] Commented: (MAHOUT-435) Add assign(DenseVector)/assign(DenseMatrix) function to DenseVector/DenseMatrix

    [ https://issues.apache.org/jira/browse/MAHOUT-435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12982144#action_12982144 ] 

Hudson commented on MAHOUT-435:
-------------------------------

Integrated in Mahout-Quality #557 (See [https://hudson.apache.org/hudson/job/Mahout-Quality/557/])
    MAHOUT-435


> Add assign(DenseVector)/assign(DenseMatrix) function to DenseVector/DenseMatrix
> -------------------------------------------------------------------------------
>
>                 Key: MAHOUT-435
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-435
>             Project: Mahout
>          Issue Type: New Feature
>          Components: Math
>            Reporter: Max Heimel
>            Assignee: Sean Owen
>            Priority: Minor
>             Fix For: 0.5
>
>         Attachments: MAHOUT-435.diff
>
>
> This new feature would add a new overloaded assign function to (Dense)Vector/(Dense)Matrix, that allows to assign the content of another (Dense)Vector / (Dense)Matrix by overwriting the content of the internal double array. Compared to using .clone(), this feature would reduce the number of memory allocations. 
> For example in case of an iterative algorithm, that needs to check for convergence;
> {code:title=Convergence check using .clone()|borderStyle=solid}
> Densematrix newMatrix = oldMatrix.clone();
> while(!converged)
> {
>     // perform iteration computation on newMatrix
>     converged=checkConvergence(newMatrix,oldMatrix);
>     oldMatrix = newMatrix.clone(); // results in memory allocation
> }
> {code}
> {code:title=Convergence check using .assign(Matrix)|borderStyle=solid}
> Densematrix newMatrix = oldMatrix.clone();
> while(!converged)
> {
>     // perform iteration computation on newMatrix
>     converged=checkConvergence(newMatrix,oldMatrix);
>     oldMatrix.assign(newMatrix); // no memory allocation
> }
> {code}

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