One of my random pet projects at the moment is putting together a prettified linear algebra API for Scala. I’m not implementing the linear algebra routines myself, but am instead implementing it as a wrapper over Colt. This isn’t really any sort of stable release or project. It’s more of a “If you want this sort of thing you might find it useful” comment.
The basic design is:
- Everything is mutable, but the API encourages using it in an immutable way.
- Makes no attempt to hide its colt origins. If you want to use it with Colt proper, it will cheerfully let you do so, and you will often have to explicitly use colt classes.
- API loosely inspired by matlab/Octave
- Hideous abuses of overloading, implicits, functional programming and symbolic method names abound in order to get an API that allows for very compact code. If you don’t like this sort of thing you may want to steer clear. :-)
It’s currently available from my misc hg repository, but it’s getting large enough that I’ll probably factor it out into its own soon.