Skip to content
A core.matrix backend for neanderthal.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This library provides a core.matrix implementation for neanderthal. The main focus of this library is to map neanderthal's high performance BLAS routines to core.matrix protocols as closely as possible, while being compliant with the rest of core.matrix. For documentation please look at the core.matrix and neanderthal documentation, as this library is mostly glue code. If you encounter any issues, including surprising performance behaviour, please open an issue.

Please take a look at neanderthal if you want to improve your performance further, as it is exposing the high performance low-level primitives directly in Clojure and provides many knobs to implement fast numerical algorithms from the literature. If you just need standard matrix multiplications and operations, as e.g. in deep-learning or general optimization algorithms you should be able to use denisovan just fine without losing portability to other core.matrix backends. If in doubt use criterium and a direct implementation with neanderthal to check whether your operations do something inefficiently behind the core.matrix API. Please join our gitter chat on questions and feel free to open issues!


Include this in your dependencies:

Clojars Project

You just need to load and activate the implementation as usual.

(require '[denisovan.core])

(clojure.core.matrix/set-current-implementation :neanderthal)



  • support GPU and OpenCL backend
  • add any additional protocols that are important for performance


Copyright © 2016 Mike Anderson, 2017 Christian Weilbach

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

You can’t perform that action at this time.