Menu Close

Features

Nemo is a Julia package which contains wrappers of C/C++ libraries. It also reexports all the functionality of AbstractAlgebra.jl, which provides generic structures and algorithms. Below we describe some of the features.

AbstractAlgebra.jl generics

  • Power series and Laurent series
  • Univariate and multivariate Polynomials
  • Residue rings
  • Matrices
  • Fraction fields

Nemo wrappers

Flint

  • fmpz – Integers
  • fmpq – Rationals
  • padic – Padics
  • fmpz_mat – matrices over the integers
  • fmpq_mat – matrices over the rationals
  • nmod_mat – matrices over Z/nZ for small n
  • fmpz_poly – polynomials over the integers
  • fmpq_poly – polynomials over the rationals
  • nmod_poly – polynomials over Z/nZ for small n
  • fmpz_mod_poly – polynomials over Z/nZ for large n
  • fmpz_series – power series over the integers
  • fmpq_series – power series over the rationals
  • nmod_series – power series over Z/nZ for small n
  • fmpz_mod_series – power series over Z/nZ for small n
  • fq – finite fields for multiprecision characteristic
  • fq_nmod – finite fields for small characteristic
  • fq_poly – polynomials over finite fields for multiprecision characteristic
  • fq_nmod_poly – polynomials over finite fields for small characteristic
  • fq_series – power series over finite fields for multiprecision characteristic
  • fq_nmod_series – power series over finite fields for small characteristic

Antic

  • nf_elem – number fields

Arb

  • arb – arbitrary precision real balls
  • acb – arbitrary precision complex balls
  • arb_poly – polynomials over arbitrary precision real balls
  • acb_poly – polynomials over arbitrary precision complex balls
  • arb_mat – matrices over arbitrary precision real balls
  • acb_mat – matrices over arbitrary precision complex balls

Libraries that use Nemo

Hecke.jl

Hecke.jl provides ideals, orders, class groups, sparse linear algebra, class field theory and various other things related to algebraic number theory.

https://github.com/thofma/Hecke.jl

Singular.jl

Singular.jl provides a wrapper of the Singular kernel, providing access to fast Groebner basis code, multivariates designed for GB’s and ideals, modules and the like, over such polynomial rings.

https://github.com/oscar-system/Singular.jl/