Taken from a post on theorynet on 23Feb95 and DMANET on 24Feb95


                            LiDIA

           A library for computational number theory

      Copyright (c) 1995 by the LiDIA Group - Version 1.0

                Universit"at des Saarlandes
                Fachbereich 14 - Informatik
                 Lehrstuhl Prof. Buchmann
                    Postfach 151150
                  D - 66041 Saarbr"ucken




CONTENTS

1) ABSTRACT

2) LIDIA GROUP

3) CONTENTS OF THIS RELEASE

4) HOW TO GET AND INSTALL LiDIA

   4.1) FTP procedure
   4.2) Unpacking procedure
   4.3) Installation procedure (short version)
   4.4) Calling a test program
   4.5) Installation procedure (long version)

5) NOTE



1) ABSTRACT

LiDIA  is  a  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. The current version runs on


  machine       operating system       base
-----------------------------------------------
  sparc7        SunOS-4.1.2, 4.1.3     32 bit
  sparc8        SunOS-4.1.3            32 bit
  i386/i486     Linux-1.1.89, OS/2(*)  32 bit
  Mips R4000    IRIX-5.2               32 bit
  RS6000        AIX                    32 bit
  HP9000/7xx    HP-UX9.05              32 bit
  DEC alpha     DEC OSF/1              64 bit
  Macintosh     (**)                   32 bit


(*)  Special OS/2 makefiles can be send on demand.
(**) At  the  moment  there  is no automatic way to build LiDIA on
     the  Mac.  We have built LiDIA manually using the CodeWarrior
     C/C++ compiler, version 4.5.


LiDIA can be compiled with both AT&T's cfront-3.0.1 and g++-2.4.5,
g++-2.5.8 and g++-2.6.x compilers.

For  a more detailed description of LiDIA's design and features we
refer to the manual.



2) LiDIA GROUP

At the moment the LiDIA-Group consists of the following people:

             Werner Backes        Oliver Morsch
             Franz-Dieter Berger  Andreas M"uller
             Ingrid Biehl         Volker M"uller
             Johannes Buchmann    Stefan Neis
             Sascha Demetrio      Thomas Papanikolaou
             Thomas Denny         Victor Shoup
             Kurt Huwig           Patrick Theobald
             Thorsten Lauer       Oliver van Sprang
             Frank Lehmann        Damian Weber
             Christian Martini    Ren'e Weiskircher
             Markus Maurer        Susanne Wetzel


3) CONTENTS OF THIS RELEASE

The current version of LiDIA (1.0a) contains the following multi-
precision data types:

    bigint                    integer arithmetic

    bigmod                    modular integer arithmetic

    bigrational               rational arithmetic

    bigfloat                  real arithmetic  (including  Pi, E,
                              exp, log, sqrt, sin, cos, ...

    bigcomplex                complex arithmetic


Based on these types the following more elaborate classes are im-
plemented:


    bigint_matrix             linear algebra over the integers

    lattice_basis             lattice  reduction  algorithms (va-
                              riants  of  the  LLL  algorithm for
                              doubles,  bigints  and  bigfloats).

    lattice_gensys            algorithms   for  finding  lattices
                              from generating systems

    rational_factorization    arithmetic  with  factorizations of
                              integers (Trial Division, ECM).


4) HOW TO GET AND INSTALL LiDIA


4.1) FTP procedure

LiDIA is available by anonymous ftp from

             crypt1.cs.uni-sb.de:pub/systems/LiDIA

Here is a sample ftp session. With > we denote the  commands  you
have to type in. After // we give a short explanation.

> ftp crypt1.cs.uni-sb.de          // connect  to  the ftp server
> anonymous                        // your     login         name
> [complete email address]         // your password is your email
                                   // address.
> cd pub/systems/LiDIA             // the  directory  where LiDIA
                                   // resides
> binary                           // set  binary  mode  for data
                                   // transfer
> get COPYRIGHT                    // get   the    COPYRIGHT file
> get LiDIA.tgz                    // get      the        package
> bye                              // disconnect

This session will get the files COPYRIGHT and LiDIA.tgz and  will
place  them  in  the  current  directory   (from  now  on  called
UNPACKDIR).


4.2) Unpacking procedure

Now typing in

               gunzip -c LiDIA.tgz | tar xvf -

will  create  a  directory  named  LiDIA;  in this directory the
following files/directories should exist:

UNPACKDIR/LiDIA:

Readme     bugs/           doc/            lib/             src/
bin/       config/         include/        makefile*


4.3) Installation procedure (short version)

In the UNPACKDIR/LiDIA directory type

STEP 1.         make configure

and  answer  the  questions  of  the `configure' script. You will
be  asked  for the installation path of LiDIA (this is by default
the  current  directory).  Please  enter a path on which you have
write  permission, since this is neccessary by the `make install'
command below. Then type

STEP 2.         make

to build the library and (optionally)

STEP 2a.        make appl

to create the applications which test the classes and demonstrate
their  use.  Finally,  if  and  only  if  you have not chosen the
default installation path, type

STEP 3.         make install

to  install  the  library  of  LiDIA (libLiDIA.a) and the include
files on your system. If you want to change the installation path
please  rerun  STEP 1  before   calling  `make install'.  LiDIA's
library is installed by default on

                UNPACKDIR/LiDIA/lib/$ARCH/libLiDIA.a

where  ARCH  is  determined  by  the  command `uname -m'. LiDIA's
include files are installed by default on

                UNPACKDIR/LiDIA/include

and finally LiDIA's binaries are installed on

                UNPACKDIR/LiDIA/bin/$ARCH


4.3) Calling a test program

To call a test program, change to to the directory

                UNPACKDIR/LiDIA/bin/$ARCH

by simply typing

                cd UNPACKDIR/LiDIA/bin/$ARCH

The  applications in this directory, try to test all functions of
the  LiDIA  classes.  They are succesful, if they do not print an
error message.


4.4) Installation procedure (long version)

Please read the chapter `Installing' in the manual

                UNPACKDIR/LiDIA/doc/manual/lidiaman.ps


5) NOTE

After  having  installed   LiDIA,  please send us an email saying
that  you have done so. This enables us to inform you about bugs,
bug fixes, new version, etc.

We would also appreciate all sorts of feedback,  bug reports  and
bug fixes, enhancements  etc. If you successfully installed LiDIA
please tell us so.  If you had no success  at  all  and  this  is
likely to be a bug  in LiDIA, (including incomplete/incorrect do-
cumentation), please report. Note that we will  probably  not  be
able  to  reconstruct  a  bug without a detailed description. The
format suggested in the file `bug_reports.form' in the LiDIA/bugs
directory should  be  the  guide  for  all bug reports.  Approved
bugs  will  be  included in the file `bugs' which also resides in
the LiDIA/bugs directory. You can send your suggestions, enhance-
ments, etc to

                     lidia@cs.uni-sb.de

Please, send bug reports (and fixes) to

                   lidia-bugs@cs.uni-sb.de

We will probably also set up a mailing list.




  Ingrid Biehl
  Johannes Buchmann
  Thomas Papanikolaou (TP)