Please support my work on Patreon by adopting a pet Neanderthal function in your name! I'll invite you to a dedicated Discord discussion server. Can't afford to donate? Ask for a free invite.
Source on Github

Fast native-speed matrix and linear algebra in Clojure

Get Started! » Check the benchmarks » Learn to use it. » Join the community »

Very Fast

On the GPU: almost 3000x faster for large matrices than optimized Clojure/Java libraries!

On the CPU: 100x faster than optimized pure Java.

Works on AMD, Nvidia, and Intel hardware!

Optimized for Clojure

Built with Clojure in mind, and implemented in Clojure.

Sane interface and functions that fit into functional style while still respecting the reality of number crunching.

Comes with fast primitive versions of map and reduce.

Pluggable engine implementations - even a pure Java engine could be plugged in for the cases when speed is not the priority.

BLAS and LAPACK

Does not try to poorly reinvent the wheel. Respects decades of BLAS and LAPACK standardization. Does the number crunching part with native BLAS and/or GPU, but provides a tiny Clojure layer for sanity. Win-win :)

Latest News

LAPACK support available: factorizations and solvers!

GPU engine supports AMD, Nvidia, Intel, and Mac OSX!

I hang around at Uncomplicate group at Slack's Clojurians

Read more at dragan.rocks

Follow the news on the Uncomplicate mailing list or @Uncomplicateorg and @draganrocks Twitter accounts.

Reusable literature.

The code and theory from existing books, articles and tutorials for numeric linear algebra computations is BLAS and LAPACK centered and can be used with Neanderthal.

Comes with a fully documented API, and a bunch of tutorials.

Please support my work on Patreon by adopting a pet Neanderthal function in your name! I'll invite you to a dedicated Discord discussion server. Can't afford to donate? Ask for a free invite.