LiDIA
System Name:
LiDIA
Contact:
Thomas Papanikolaou
LiDIA Group
Universit"at des Saarlandes
Fachbereich 14 - Informatik
Postfach 151150
D - 66041 Saarbr"ucken
Email:
lidia@cs.uni-sb.de
Description:
LiDIA 1.2.1 - A library for computational number theory
Copyright (c) 1994, 1995, 1996 by the LiDIA Group
ABSTRACT
^^^^^^^^
LiDIA is a *powerful C++ library* for computational number theory
which provides a collection of *highly optimized implementations*
of various multiprecision data types and time-intensive
algorithms. LiDIA is developed by the LiDIA Group, at the
Universit"at des Saarlandes and it is *free* for educational
purposes. The current version runs on
o alpha, sparc7, sparc8, mips, intel(paragon), hp, cray c90, rs6k
with the following compilers
o g++-2.6.3, g++-2.7.x, cfront-3.01, HP C++, MIPS C++, xlC, Sun's
acc, Watcom v.10, Borland-4.x
on the following operating systems
o SunOS, Solaris, OSF/1, OS/2, AIX-3.2.5, IRIX-5.2, Linux, FreeBSD,
HP-UX9.05, Windows 95 (*)
supporting the object file formats
o a.out, ELF
(*) with some modifications (contact lidia@cs.uni-sb.de for more
information).
For a more detailed description of LiDIA's design and features we
refer to the manual.
LiDIA GROUP
^^^^^^^^^^^
At the moment the LiDIA Group consists of the following people:
Werner Backes F-D Berger Ingrid Biehl
Johannes Buchmann John Cremona Sascha Demetrio
Thomas Denny Kurt Huwig Thorsten Lauer
Frank Lehmann Markus Maurer Oliver Morsch
Andreas M"uller Volker M"uller Stefan Neis
Thomas Papanikolaou Sachar Paulus Nigel Smart
Victor Shoup Thomas Sosnowski Patrick Theobald
Damian Weber Susanne Wetzel
Old Members
^^^^^^^^^^^
Oliver van Sprang Ren'e Weiskircher
CONTENTS OF RELEASE 1.2.1
^^^^^^^^^^^^^^^^^^^^^^^^^
- Z with functions from the elementary number theory, Q, Z/mZ,
R and C with trans. functions (sin, cos, exp, log, ...)
and quadratic forms
- Linear algebra over Z (HNF, SNF, Kernel, ...)
- Integer factorization (TD, ECM, QS, combined strategy)
- Lattice basis reduction (LLL, MLLL: Schnorr-Euchner, de Weger
over Z)
- Discrete logarithm solver for finite prime fields
(Pohlig-Hellmann-Pollard)
- Algebraic number fields (arithmetic, maximal order)
- Generic vectors and matrices
- Generic power series and univariate polynomials
What is new?
^^^^^^^^^^^^
The current version of LiDIA (1.2) is a major release. It follows
the beta-tested version 1.2.0b released on 26th of February 1996
by registered LiDIA users. Most of the work was done in extending
the package and in improving stability and performance.
o the factorization class now includes an implementation of the
self-initializing version of the multipolynomial quadratic sieve.
With this method LiDIA is now able to factor integers of size 75
digits (max). For example, a 50-digit number with two 25-digit
prime factors is now factored in 16 minutes on a sparc20.
o new template vectors and matrices have been included, unifying
matrices and lattices.
o new template implementation of Laurent power series and univariate
polynomials.
o a memory manager is now included providing 4 modi which can be
chosen at compile time: malloc (using the system's memory mana-
ger malloc/free), dentzer (using a buddy-algorithm combined with
free-list storage), boehm (Boehm's garbage collector) and default
(no memory manager at all).
What is in work?
^^^^^^^^^^^^^^^^
o In beta testing
- Finite fields GF(2^n), GF(2^p)
- Generic multivariate rational function arithmetic
- Gr"obner bases
- Factoring in F_p[x] (Shoup's algorithms)
(pre-releases of these packages available on request)
o In work
- Porting of John Cremona's elliptic curve package
- Discrete logarithms using COS
- Symbolic computation package
- Invariants of number fields
- Counting points on elliptic curves over |F_p, p > 3
- Incoprorating PoSSo's Customizable Memory Manager into LiDIA
- LiDIA development environment (support for configuring, (remote)
control version, editing, compiling, running and debugging of
LiDIA programs)