On Mon, Dec 31, 2012 at 9:30 AM, Phil Steitz <phil.steitz@gmail.com> wrote:
> If we stick to
>
> 0) algebraic objects are immutable
> 1) algorithms defined using algebraic concepts should be implemented
> using algebraic objects
>
> ...
> 0) Start, with Konstantin's help, by fleshing out the InPlace
> matrix / vector interface
> 1) Integrate Mahout code as part of a wholesale refactoring of the
> linear package
> 2) Extend use of the visitor pattern to perform mutations
> "inplace" (similar to 0) in effect)
>
Speaking as one of the main authors of the Mahout code and very occasional
contributor to CM, I doubt that integrating it directly will suit CM
needs/prejudices.
For instance, the whole sparse matrix problem where 0 x Inf => 0 instead of
NaN is probably not satisfactory for CM, but speed was considered a more
important requirement for Mahout. Similarly, Mahout math depends on a
primitive collection implementation that generates over 200 classes from
templates. That makes some of the sparse codes very fast, but it might
lead to some indigestion for CM.
