On Mon, Dec 31, 2012 at 9:30 AM, Phil Steitz <phil.ste...@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 > "in-place" (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.