Date: Thu, 23 Feb 1995 09:36:46 EST Reply-To: Thomas Papanikolaou Sender: Number Theory List From: Thomas Papanikolaou Subject: LiDIA Announcement To: Multiple recipients of list NMBRTHRY Dear Colleagues, we are happy to announce the first version of 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 > // 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)