Fork me on GitHub
#data-science
<
2017-05-23
>
mikera07:05:37

@hswick it depends on what particular implementation features you need. If you want double precision maths on the JVM, vectorz-clj is the best without a doubt. If you want GPU support, vectorz-opencl works but is experimental right now. If you care mostly about using standard clojure data structures (e.g. nested vectors) then the built-in core.matrix support is pretty good. nd4clj is incomplete but could be useful if you want to interop with the deeplearning4j library ecosystem. Clatrix is a bit crufty but offers good interface to native BLAS code.

mikera07:05:33

As always, I encourage people to try out different implementations and send PRs to improve them where possible. I am committed to maintaining core.matrix itself (which will soon be part of official clojure contrib) and vectorz-clj (as it is the main pure-JVM library that I use for my own work). I will be happy to maintain vectorz-opencl if there is sufficient demand. Happy to help out with other implementations also where I have time, but they ideally should have a primary maintainer.