CALIB

CALIB is a Computer Algebra Library written in C using GMP (and optionally the FPLLL package). It is an experiment trying one method of structuring software of this type. The algorithms in CALIB are not intended to be state-of-the-art, but are generally not too bad. Some of CALIB's algorithm are "close" to state-of-the art (for example, it contains an implementation of the Van-Hoeij algorithm for factoring polynomials in Z[x]).

CALIB supports computation in the following algebraic domains:

Domain           Description
Z The integers
Q The rational numbers
Zp Integers modulo a prime p
GF(p**k) Galois field with p**k elements
Q(a) Rationals Q extended with algebraic number a
Z(a) Integers extended with algebraic number a
Z[x] Univariate polynomials with integer coefficients
Z[x,y,z] Multivariate polynomials with integer coefficients
Q[x] Univariate polynomials with rational coefficients
Q(a)[x] Polynomials with rational algebraic number coefficients
Z(a)[x] Polynomials with integer algebraic number coefficients
rat Rational functions: Z[x,y,z] / Z[x,y,z]

CALIB provides two sample applications that use CALIB to solve "real world" problems:

  • Indefinite integration of rational functions
  • Computing the centroid distance for 3-toothed comb inequalities of the Traveling Salesman Polytope
  • Downloads:

    Tarball     Manual (html)         Manual (pdf)    
    calib-1.0.tar.gz calib-1.0 manual calib-1.0 manual

    Contact:

    david@warme.net

    Updated October 19, 2024