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

Ted Dunning commented on MAHOUT-6:
----------------------------------


Paul,

Can you amplify a bit on how you see the difference between interfaces and 
abstract classes?

It is absolutely true that interfaces can only be changed delicately, but at 
this stage I think that everybody understands that.  But why is a public 
abstract class any different?

I should also say that the interface is definitely incomplete as it says 
nothing about labeling of rows and columns, nor does it have any way to find 
out if a matrix is sparse, nor whether a sparse matrix has fast column or row 
viewing.  All are pretty important, but all are additions to this API, rather 
than changes.

Finally, I have a little problem in viewing a lucene index itself as a single 
matrix.  I would propose an interface in which a lucene index is a factory 
which constructs matrices that  are linear combinations of fields of the lucene 
matrix.  There should also be some way to view the native retrieval operation 
of the lucene index as matrix multiplication.  

 

> 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
>
>
> 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