A high-performance Clojure math library optimized for primitive operations, featuring statistics, random numbers, vectors, matrices, and numerical methods.
Fastmath is a Clojure library for high-performance mathematical and statistical computing. It provides optimized primitive operations, a wide range of mathematical functions, and modules for vectors, matrices, random numbers, and numerical methods. It solves the need for a fast, comprehensive math toolkit within the Clojure ecosystem.
Clojure developers working on performance-sensitive numerical applications, data analysis, scientific computing, or simulations.
Developers choose Fastmath for its combination of breadth—covering statistics, linear algebra, and numerical methods—and performance through primitive specialization and integration with optimized libraries like SMILE and Jafama.
Fast primitive based math library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses primitive specialization and integrates Jafama FastMath for accelerated arithmetic and bitwise operations, ensuring low-level speed for numerical computations.
Combines modules for statistics, vectors, matrices, random numbers, and numerical methods into a single library, reducing dependency sprawl for diverse use cases.
Provides a Fastmath book, Codox docs, and interactive Clerk notebooks, offering clear examples and guides for functions from basic math to advanced clustering.
Accepts PRs with a structured contribution process, and the README notes ongoing work on version 3.x, indicating responsive maintenance and feature updates.
Includes MKL and OpenBlas by default, adding ~1GB to the jar, and the README warns that OpenBlas may not fully support all functionalities, complicating lightweight deployments.
Lacks ClojureScript support, as noted in the alternatives section, restricting use to server-side or desktop applications and forcing cross-platform projects to seek other libraries.
Version 2.3.0 was GPL due to SMILE dependencies, and users must manually exclude MKL to avoid licensing issues, adding maintenance overhead and potential confusion.