Nemo is a computer algebra package for the Julia programming language, maintained by William Hart, Tommy Hofmann, Claus Fieker and Fredrik Johansson with additional code by Oleksandr Motsak and other contributors.
The Nemo code written in Julia is licensed under the BSD license and it makes use of GPL and LGPL C/C++ libraries such as Flint, Antic, GMP/MPIR, MPFR, Singular and Arb.
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
- Maximal orders of number fields
- Arithmetic of ideals in maximal orders
- Arbitrary precision real and complex balls
- Generic polynomials, power series, fraction fields, residue rings and matrices
A Julia package for algebraic number theory, called Hecke is also being developed on top of Nemo by Tommy Hofmann and Claus Fieker.
Nemo is written in the Julia programming language and runs on many platforms (including Linux, Mac OS X, Windows and BSD).