If you have any questions about Clojure or numerical computing with Clojure/Java, or if you spot an error in the article, please discuss here.
I will definitively write a book. Please sign up for the newsletter at the bottom of the article if you'd like to be notified.
Neanderthal vs ND4J - vol 1 - Native performance, Java and CPU
https://dragan.rocks/articles/18/Neanderthal-vs-ND4J-vol1
HN discussion related to the first part: https://news.ycombinator.com/item?id=17375306
Neanderthal on GitHub: https://github.com/uncomplicate/neanderthal
As for this, possibly worthwhile for the authors to look into Dragan Djuric's work, he's done some really fast matrix stuff on Clojure[2].
https://github.com/uncomplicate/neanderthal
Also used for Bayesian data analysis on the GPU in:
source code: https://github.com/uncomplicate/clojurecl
Heavily used in other Clojure libraries:
https://github.com/uncomplicate/neanderthal
https://github.com/uncomplicate/bayadera
Also, the CUDA equivalent: https://github.com/uncomplicate/clojurecuda
Of course, it is open source and the code is at https://github.com/uncomplicate/neanderthal
Have a look at core.matrix (https://github.com/mikera/core.matrix) and vectorz.clj (https://github.com/mikera/vectorz-clj) libs. They give you almost native speeds.
If you need even more performance, checkout neanderthal (https://github.com/uncomplicate/neanderthal) which has a GPU back-end.