See http://dsd.lbl.gov/~hoschek/colt/api/cern/colt/matrix/package-summary.html#S emanticsOfViews
For Kurt's summary of the situation vis a vis mutable views. On 2/25/08 5:47 PM, "Jeff Eastman (JIRA)" <[EMAIL PROTECTED]> wrote: > > [ > https://issues.apache.org/jira/browse/MAHOUT-6?page=com.atlassian.jira.plugin. > system.issuetabpanels:all-tabpanel ] > > Jeff Eastman updated MAHOUT-6: > ------------------------------ > > Attachment: MAHOUT-6d.diff > > This patch adds a Matrix1DView wrapper and tests thereof. In order to avoid > side effects, calling the setQuick method throws an > UnsupportedOperationException and copy materializes a new DenseMatrix1D, not > another view. This is consistent with the read-onliness of most view > abstractions and allows all of the abstract matrix operations to work. Views > can be made of any MatrixID, and this includes views of views, which share the > same underlying Matrix1D. > > Am I too hung-up on no side-effects? > >> Need a matrix implementation >> ---------------------------- >> >> Key: MAHOUT-6 >> URL: https://issues.apache.org/jira/browse/MAHOUT-6 >> Project: Mahout >> Issue Type: New Feature >> Reporter: Ted Dunning >> Attachments: MAHOUT-6a.diff, MAHOUT-6b.diff, MAHOUT-6c.diff, >> MAHOUT-6d.diff >> >> >> We need matrices for Mahout. >> An initial set of basic requirements includes: >> a) sparse and dense support are required >> b) row and column labels are important >> c) serialization for hadoop use is required >> d) reasonable floating point performance is required, but awesome FP is not >> e) the API should be simple enough to understand >> f) it should be easy to carve out sub-matrices for sending to different >> reducers >> g) a reasonable set of matrix operations should be supported, these should >> eventually include: >> simple matrix-matrix and matrix-vector and matrix-scalar linear algebra >> operations, A B, A + B, A v, A + x, v + x, u + v, dot(u, v) >> row and column sums >> generalized level 2 and 3 BLAS primitives, alpha A B + beta C and A u + >> beta v >> h) easy and efficient iteration constructs, especially for sparse matrices >> i) easy to extend with new implementations
