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)