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

Jason Rennie commented on MAHOUT-6:
-----------------------------------

Re: Jeff

Sounds good.  It think I might actually have some time to do this.  One thing I 
didn't see when looking through the last patch was basic matrix/vector 
operations.  I'll go ahead and include a dot-product method to exhibit how it'd 
work and do some speed comparisons vs. a HashMap impl.

Yeah, would definitely be good to get this stuff in trunk, if only to make it 
easier to read/access! :)

Re: Ted

Didn't realize HashMaps were so fast.  Will be good to revisit the testing I 
did earlier.  Agreed on the CRS benefits.

One way I get around the sorted constraint while constructing a sparse vector 
is a SparseVectorBuilder class.  It basically has two methods: void add(int 
_idx, double _val), and SparseVector build().  Avoids having to keep state 
within the SparseVector.


> 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, MAHOUT-6e.diff, MAHOUT-6f.diff, MAHOUT-6g.diff, 
> MAHOUT-6h.patch, MAHOUT-6i.diff, MAHOUT-6j.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

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

Reply via email to