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

Hudson commented on MAHOUT-790:
-------------------------------

Integrated in Mahout-Quality #1012 (See 
[https://builds.apache.org/job/Mahout-Quality/1012/])
    MAHOUT-790 - kill the cardinality array and size() for matrices.  Use 
rowSize() and columnSize() instead.

MAHOUT-792 - Fix RTM to avoid size() and cardinality array.
MAHOUT-790 - More get/view changes
MAHOUT-790 - collapse get{Row,Column} to view{Row,Column}, kill addTo
MAHOUT-790 - Fixed copyright and license on QRDecomposition and SVDDecomposition
MAHOUT-790 - Copyright format cleanup
MAHOUT-790 - Matrix cleanups.
MAHOUT-790 - Add some vector and matrix types to simplify certain manipulations.
MAHOUT-790 - Add view for diagonal of a matrix.

tdunning : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1164016
Files : 
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/hadoop/als/eval/InMemoryFactorizationEvaluator.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/bayes/InMemoryBayesDatastore.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/discriminative/LinearTrainer.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/naivebayes/NaiveBayesModel.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/naivebayes/training/TrainUtils.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sequencelearning/hmm/HmmUtils.java
* /mahout/trunk/core/src/main/java/org/apache/mahout/math/MatrixWritable.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/math/hadoop/decomposer/EigenVerificationJob.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/math/hadoop/stochasticsvd/UpperTriangular.java
* 
/mahout/trunk/core/src/test/java/org/apache/mahout/cf/taste/hadoop/als/ParallelALSFactorizationJobTest.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/DenseMatrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/DiagonalMatrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/Matrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/MatrixView.java
* 
/mahout/trunk/math/src/main/java/org/apache/mahout/math/PermutedVectorView.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/PivotedMatrix.java
* 
/mahout/trunk/math/src/main/java/org/apache/mahout/math/RandomAccessSparseVector.java
* 
/mahout/trunk/math/src/main/java/org/apache/mahout/math/RandomTrinaryMatrix.java
* 
/mahout/trunk/math/src/main/java/org/apache/mahout/math/SequentialAccessSparseVector.java
* 
/mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseColumnMatrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseMatrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseRowMatrix.java
* 
/mahout/trunk/math/src/main/java/org/apache/mahout/math/decomposer/hebbian/HebbianSolver.java
* 
/mahout/trunk/math/src/test/java/org/apache/mahout/math/AbstractTestVector.java
* /mahout/trunk/math/src/test/java/org/apache/mahout/math/MatrixTest.java
* /mahout/trunk/math/src/test/java/org/apache/mahout/math/TestMatrixView.java
* 
/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestSparseColumnMatrix.java
* /mahout/trunk/math/src/test/java/org/apache/mahout/math/TestSparseMatrix.java
* 
/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestSparseRowMatrix.java
* /mahout/trunk/math/src/test/java/org/apache/mahout/math/TestVectorView.java
* 
/mahout/trunk/math/src/test/java/org/apache/mahout/math/als/AlternateLeastSquaresSolverTest.java
* 
/mahout/trunk/math/src/test/java/org/apache/mahout/math/decomposer/SolverTest.java

tdunning : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1164015
Files : 
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/lda/LDAInference.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/DiagonalMatrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/PivotedMatrix.java

tdunning : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1164014
Files : 
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/hadoop/als/eval/InMemoryFactorizationEvaluator.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/AbstractVectorClassifier.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/discriminative/LinearTrainer.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/naivebayes/NaiveBayesModel.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/naivebayes/training/WeightsMapper.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AbstractOnlineLogisticRegression.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/GradientMachine.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/PassiveAggressive.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/AbstractCluster.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/RunningSumsGaussianAccumulator.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/common/mapreduce/VectorSumReducer.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/math/hadoop/MatrixMultiplicationJob.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/math/hadoop/TimesSquaredJob.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/math/hadoop/stochasticsvd/GivensThinSolver.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/math/hadoop/stochasticsvd/SSVDPrototype.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/math/hadoop/stochasticsvd/UJob.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/math/hadoop/stochasticsvd/UpperTriangular.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/math/hadoop/stochasticsvd/VJob.java
* 
/mahout/trunk/core/src/main/java/org/apache/mahout/vectorizer/common/PartialVectorMergeReducer.java
* 
/mahout/trunk/core/src/test/java/org/apache/mahout/cf/taste/hadoop/als/ParallelALSFactorizationJobTest.java
* 
/mahout/trunk/core/src/test/java/org/apache/mahout/classifier/discriminative/PerceptronTrainerTest.java
* 
/mahout/trunk/core/src/test/java/org/apache/mahout/classifier/discriminative/WinnowTrainerTest.java
* 
/mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/OnlineBaseTest.java
* 
/mahout/trunk/core/src/test/java/org/apache/mahout/clustering/TestGaussianAccumulators.java
* 
/mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/decomposer/TestDistributedLanczosSolverCLI.java
* 
/mahout/trunk/core/src/test/java/org/apache/mahout/math/hadoop/stochasticsvd/SSVDPrototypeTest.java
* 
/mahout/trunk/examples/src/main/java/org/apache/mahout/clustering/display/DisplayMeanShift.java
* 
/mahout/trunk/integration/src/test/java/org/apache/mahout/clustering/TestClusterDumper.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractVector.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/Algebra.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/DenseMatrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/DenseVector.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/Matrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/MatrixVectorView.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/MatrixView.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/NamedVector.java
* 
/mahout/trunk/math/src/main/java/org/apache/mahout/math/RandomAccessSparseVector.java
* 
/mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseColumnMatrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseMatrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/SparseRowMatrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/Vector.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/VectorView.java
* 
/mahout/trunk/math/src/main/java/org/apache/mahout/math/als/AlternateLeastSquaresSolver.java
* 
/mahout/trunk/math/src/main/java/org/apache/mahout/math/decomposer/hebbian/HebbianSolver.java
* 
/mahout/trunk/math/src/main/java/org/apache/mahout/math/decomposer/hebbian/TrainingState.java
* /mahout/trunk/math/src/test/java/org/apache/mahout/math/MatrixTest.java
* /mahout/trunk/math/src/test/java/org/apache/mahout/math/TestMatrixView.java
* /mahout/trunk/math/src/test/java/org/apache/mahout/math/VectorTest.java
* 
/mahout/trunk/math/src/test/java/org/apache/mahout/math/decomposer/SolverTest.java

tdunning : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1164013
Files : 
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/QRDecomposition.java
* 
/mahout/trunk/math/src/main/java/org/apache/mahout/math/SingularValueDecomposition.java

tdunning : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1164012
Files : 
* 
/mahout/trunk/math/src/test/java/org/apache/mahout/math/TestSingularValueDecomposition.java

tdunning : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1164011
Files : 
* /mahout/trunk/math/src/test/java/org/apache/mahout/math/MatrixTest.java

tdunning : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1164010
Files : 
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/ConstantVector.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/DiagonalMatrix.java
* 
/mahout/trunk/math/src/main/java/org/apache/mahout/math/PermutedVectorView.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/PivotedMatrix.java
* 
/mahout/trunk/math/src/test/java/org/apache/mahout/math/PermutedVectorViewTest.java
* /mahout/trunk/math/src/test/java/org/apache/mahout/math/PivotedMatrixTest.java

tdunning : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1164009
Files : 
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java
* /mahout/trunk/math/src/main/java/org/apache/mahout/math/Matrix.java


> Redundancy in Matrix API, view or get?
> --------------------------------------
>
>                 Key: MAHOUT-790
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-790
>             Project: Mahout
>          Issue Type: Improvement
>    Affects Versions: 0.5
>            Reporter: Ted Dunning
>            Assignee: Ted Dunning
>             Fix For: 0.6
>
>         Attachments: MAHOUT-790.patch
>
>
> We have a bunch of redundant methods in our matrix interface.  These include 
> things that return views of parts of the matrix:
> {code}
>   Matrix viewPart(int[] offset, int[] size);
>   Matrix viewPart(int rowOffset, int rowsRequested, int columnOffset, int 
> columnsRequested);
>   Vector viewRow(int row);
>   Vector viewColumn(int column);
> {code}
> and things that do the same but call refer to getting stuff
> {code}
>   Vector getColumn(int column);
>   Vector getRow(int row);
>   double getQuick(int row, int column);
>   int[] getNumNondefaultElements();
>   Map<String, Integer> getColumnLabelBindings();
>   Map<String, Integer> getRowLabelBindings();
>   double get(String rowLabel, String columnLabel);
> {code}
> To my mind, get implies a get-by-value whereas view implies get-by-reference. 
>  As such, I would suggest that getColumn and getRow should disappear.  On the 
> other hand, getQuick and get are both correctly named.  
> This raises the question of what getNumNondefaultElements really does.  I 
> certainly can't tell just from the signature.  Is it too confusing to keep?
> Additionally, what do people think that getColumnLabelBindings and 
> getRowLabelBindings return?  A mutable map?  Or an immutable one?
> Under the covers, viewRow and viewColumn (and the upcoming viewDiagonal) have 
> default implementations that use MatrixVectorView, but AbstractMatrix doesn't 
> have an implementation for getRow and getColumn. 
> In sum, I suggest that:
>   - getRow and getColumn go away
>   - the fancy fast implementations fo getRow and getColumn that exist be 
> migrated to be over-rides of viewRow and viewColumn
>   - there be a constructor for AbstractMatrix that sets the internal size 
> things correctly.
>   - that the internal cardinality array in AbstractMatrix goes away to be 
> replaced by two integers.
>   - viewDiagonal() and viewDiagonal(length) and viewDiagonal(row, column) and 
> viewDiagonal(int row, column, length) be added.
> I will produce a patch shortly.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to