Ben Chuanlong Du's Blog

It is never too late to learn.

Useful Rust Crates for Numeric Computation

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!


num A collection of numeric types and traits for Rust, including bigint, complex, rational, range iterators, generic integers, and more!


num-derive providess procedural macros to derive numeric traits in Rust.


num-traits provides numeric traits for generic mathematics in Rust.


ux implements non standard integers.


enum_primitive is a macro to generate num::FromPrimitive instances for enum that works in Rust 1.0+.


rust_decimal is a decimal number implementation written in pure Rust suitable for financial calculations that require significant integral and fractional digits with no round-off errors.


nalgebra is a general-purpose linear algebra library with transformations and statically-sized or dynamically-sized matrices.


ndarray is an n-dimensional array for general elements and for numerics. Lightweight array views and slicing; views support chunking and splitting.


ArrayFire is a high performance software library for parallel computing with an easy-to-use API. Its array based function set makes parallel programming simple. ArrayFire's multiple backends (CUDA, OpenCL and native CPU) make it platform independent and highly portable. A few lines of code in ArrayFire can replace dozens of lines of parallel computing code, saving you valuable time and lowering development costs. This crate provides Rust bindings for ArrayFire library.


sphrs provides spherical harmonics and solid harmonics .


argmin is a numerical optimization library written entirely in Rust.