Mike Anderson
Mike Anderson
@paultopia You shouldn't need too many passes - ideally there should be just two or three passes over the whole array: 1. Once to convert all elements to strings 2....
Do you mean like the existing `dimensionality` function which is the same as "tensor rank"? Or rank as in linear algenra: http://en.wikipedia.org/wiki/Rank_(linear_algebra) If it is the latter then yes, I...
Cool, makes sense then. Yeah happy to include this as `clojure.core.matrix/rank` as long as the docs are clear This will probably need: - A new protocol in `clojure.core.matrix.protocols`. Perhaps `PMatrixRank`...
BTW, the reason I've been holding off on stuff like this (which includes LU decomposition etc.) is that we haven't yet got a reasonably performant matrix implementation in core.matrix itself...
I'd be semi-tempted to extend the core.matrix protocols to `double[][]`. That would give us a performant matrix implementation that can be used for linear algebra algorithms plus some extra Java...
Other option would be something like: ``` clojure (deftype DoubleMatrix [^int rows ^int columns ^doubles data] .....) ```
A nice thing about `core.matrix` is that we can have both :-) The key point is which one we use to provide a base for implementing the numerical algorithms (i.e....
We are getting away from the `rank` discussion somewhat: suggest we continue on the Numerical Clojure list if needed.
OK, I added a `rank` function and `PMatrixRank` protocol in latest develop. Ready for when we implement them.
It may be that we want to support higher dimensional datasets - so you can have labels on any dimensions (not just rows and columns which are dimensions 0 and...