Skip to content

Latest commit

 

History

History
77 lines (44 loc) · 2.43 KB

README.md

File metadata and controls

77 lines (44 loc) · 2.43 KB

core.matrix

N-dimensional Array / Matrix / Vector API for Clojure.

(+ [[1 2] 
    [3 4]] 
   (* (identity-matrix 2) 3.0))
   
=> [[4.0 2.0] 
    [3.0 7.0]]

The objective of core.matrix is to provide a common and idiomatic abstraction for matrix maths in Clojure, independent of underlying implementations. The plan is to develop this into an official Clojure Contrib language extension. Like NumPy, but with more parens and functional goodness..

Key objectives:

  • Provide a clear, standard API / abstraction for matrix and vector maths in Clojure
  • Enable plugable support for different underlying matrix library implementations
  • Provide a general purpose n-dimensional array implementation (NumPy style)
  • Provide a foundation layer for other projects (e.g. Incanter)
  • Maintain good performance wherever possible

Build Status

Getting Started

Get the latest version from Clojars:

For code examples see:

For documentation and further examples see the Wiki:

WARNING: Subject to change

This API is still a work in progress and subject to change.

If you build anything on top of it, don't be too surprised if it breaks with the next release.

Getting started

Right now the code base is primarily intended for people working on the API + implementation.

You can include the latest released version by adding it as a leiningen or Maven dependency from Clojars, but be aware that this is probably out of data compared to the latest master branch.

Some documentation / examples can be found in the Wiki:

Contributing

All contributions / ideas welcome!

If you wish to contribute code, please ensure you have a Clojure Contributors Agreement signed and on file. For more information see:

Discussions related to core.matrix generally take place on the "Numerical Clojure" group:

If you are interested in writing a core.matrix implementation, see: