
Key Features
In the joint CNRS-INRIA
/ INPG-UJF project
APACHE,
Givaro is a C++ library for arithmetic and algebraic computations.
Its main features are implementations of the basic arithmetic of many mathematical entities: Primes fields, Extensions Fields, Finite Fields, Finite Rings,
Polynomials, Algebraic numbers, Arbitrary precision integers and rationals
(C++ wrappers over gmp)
It also provides data-structures and templated classes for the manipulation of basic
algebraic objects, such as vectors, matrices (dense,
sparse, structured), univariate polynomials (and therefore recursive multivariate).
It contains
different program modules
and is fully compatible with the
LinBox linear algebra library and the
Athapascan
environment, which permits parallel programming.
- Program Modules :
- Integers and Number Theory : Arithmetic with arbitrary precision over Z; Primality Testing, Factorization (Lenstra elliptic curves, Pollard's rho), Cryptography (RSA module), Euler's phi, Primitive roots, Chinese Remainder.
- GF(q) and Z/pZ : Fast arithmetic in finite fields (representations as machine integers, floating point numbers,
polynomials, Zech logarithms, Montgomery reduction, centered representation and fully tabulated).
- Rationals : Arithmetic with arbitrary precision over Q.
- Fractions
- Vectors
- Matrices and Linear Algebra (cf. LinBox) : Gaussian triangularization, Rank computations, Coppersmith Black-Box, Smith form, Linear recurring sequences.
- Polynomials : Karatsuba Arithmetic over K[X]; Square-free, Sturm-Query, Factorization (Berlekamp, Cantor-Zassenhaus).
- Algebraic Numbers : Equality Testing, Sign Testing.
More Details.
- Compatibility:
- Givaro is a Sequential Library written in C++.
- It contains configuration files for the Parallel environment
Athapascan.

Givaro Integers' are based upon
GNU Multiprecision Package.
Therefore, GMP is required to install Givaro. This library is also available from
the Gnu web site and
via ftp.
- Download
the Sequential Givaro Library (version 3.3.2,
Last update: Wednesday, June 23th 2010
).
- Try next candidate (version 3.3.3rc0, Wednesday, June 23th 2010).

The team: