Nemo is a computer algebra package for the Julia programming language, maintained by William Hart, Tommy Hofmann, Claus Fieker, Fredrik Johansson and other contributors.
The features of Nemo so far include:
- Multiprecision integers and rationals
- Integers modulo n
- p-adic numbers
- Finite fields (prime and non-prime order)
- Number field arithmetic
- Arbitrary precision real and complex balls
- Exact real and complex numbers
- Permutations and symmetric groups
- Partitions and Young tableaux
- Dense univariate polynomials
- Sparse distributed multivariate polynomials
- Univariate power/Laurent/Puiseux series
- Matrices and matrix algebras
- Generic multivariate power series
- Generic fraction fields over a Euclidean domain
- Generic residue rings over a Euclidean domain
- Generic non-commutative polynomials (non-commuting coefficients)
- Generic function fields
- Generic Laurent polynomials
- Generic modules over a Euclidean domain
- Generic maps
Most of the generic functionality is provided by AbstractAlgebra.jl which is implemented in tandem with Nemo.jl.
A Julia package for algebraic number theory, called Hecke is also being developed on top of Nemo by Tommy Hofmann, Claus Fieker and collaborators.
Nemo is a key component of the Oscar computer algebra system.
Nemo is written in the Julia programming language and runs on many platforms (including Linux, Mac OS X, Windows and BSD).
Some of the maintainers of Nemo are funded by the DFG through the TRR 195 grant.
Last updated: 2021-11-03 17:01:42 GMT
Contact: nemo-devel mailing list.
Logo background due to Giacomo Merculiano.