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
Priority: Minor
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 existing 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.