#algebra #monoids #math

alga

Abstract algebra for Rust

12 releases (6 breaking)

0.7.1 Jul 28, 2018
0.6.0 May 25, 2018
0.5.3 Mar 4, 2018
0.5.2 Aug 6, 2017
0.3.0 Oct 30, 2016

#1 in Science

Download history 1154/week @ 2018-08-12 1466/week @ 2018-08-19 1585/week @ 2018-08-26 1646/week @ 2018-09-02 1233/week @ 2018-09-09 1923/week @ 2018-09-16 1931/week @ 2018-09-23 2054/week @ 2018-09-30 1906/week @ 2018-10-07 1732/week @ 2018-10-14 1456/week @ 2018-10-21 1725/week @ 2018-10-28 1765/week @ 2018-11-04

7,518 downloads per month
Used in 122 crates (29 directly)

Apache-2.0

107KB
2K SLoC

crates.io Build status

Documentation

alga − abstract algebra for Rust

alga aims to provide solid mathematical abstractions to algebra-focused applications. It defines and organizes through trait inheritance the basic building blocks of general algebraic structures. Specific implementations of algebraic structure traits are left to other crates. Higher-level traits for specialized domains of algebra (like linear algebra) are also provided and will prove useful for applications that include code that is generic wrt. the algebraic entity types.

Examples of types that could derive from traits defined in alga:

  • Integers, reals and rationals numbers
  • Complex numbers
  • Polynomials
  • Matrices and vectors
  • Quaternions and octonians
  • Strings under concatenation

alga started as a fork of algebra.

References

Interesting papers

Inspiring Libraries

Dependencies

~478KB