Mike Anderson
Mike Anderson
Sounds useful, though not sure if it deserves a first class protocol function in core.matrix. `(m/array (range start end step))` gets you most of the way there..... just needs a...
Currently you need to use a `core.matrix` implementation that has implemented the determinant and inverse. e.g. you can use vectorz-clj : https://github.com/mikera/vectorz-clj ``` clojure (set-current-implementation :vectorz) (det (matrix [[1 2]...
@si14 - should be possible to implement this with your LU decomposition algorithm, which provides a handy way to compute the determinant efficiently: See - http://en.wikipedia.org/wiki/LU_decomposition#Computing_the_determinant
Look good! I think coercing to ndarray-double is a decent strategy for the default implementation.
Hi @lilian0312 - agreed, that looks like a singular matrix so the result should be zero, right? As an immediate workaround you can use vectorz-clj which gets the result right....
Yeah would be good to have a PR if this is still an issue. I believe the decompose function shouldn't be throwing an error anyway, it should return nil I...
ClojureScript support should certainly be possible in core.matrix. Some general points: - The API should work for both Clojure and ClojureScript, with virtually no modification. - Likewise the protocols that...
Possibly - I'm not too familiar with Sylvester. Other options that it might make sense to implement the protocols for: - raw Javascript arrays (analogous to how we handle `double[]`...
Looks like there are some good implementation options! My suggestion would be to try and get two or three of them working, it's fairly easy to implement just the mandatory...
If you can, it would be good to minimise the number of dependencies if possible (e.g. on Node), to make it easier for people to run the implementation on different...