From lidiaadm@cs.uni-sb.deMon Apr 15 23:51:25 1996 Date: Mon, 15 Apr 1996 13:59:36 EDT From: "LiDIA (Thomas P.)" To: Multiple recipients of list NMBRTHRY Subject: Announcement - LiDIA 1.2.1 ANNOUNCEMENT LiDIA A library for computational number theory Copyright (c) 1994, 1995, 1996 by the LiDIA Group - Version 1.2 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 3.1 What is new? 3.2 What is in work? 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 4.1) Send an email 4.2) Be a part of it 6) LiDIA GOES TO DARMSTADT 7) ACKNOWLEDGEMENTS 1) 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.x, 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, MacOS (*), Windows 95 (**) supporting the object file formats o a.out, ELF (*) 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 7. The corresponding project files will be released soon. (**) 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. 2) 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 3) CONTENTS OF THIS RELEASE @@@@@@@@@@@@@@@@@@@@@@@@@@@ 3.1) 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). 3.2) 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) 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 ftp.cs.uni-sb.de:/pub/LiDIA unix.hensa.ac.uk:/mirrors/LiDIA If you have ncftp you can get LiDIA by simply typing ncftp crypt1.cs.uni-sb.de:/pub/systems/LiDIA/LiDIA.tgz else use the following ftp session. With > we denote the commands you have to type in. // denotes a short explanation. > ftp crypt1.cs.uni-sb.de // connect to the ftp server > anonymous // your login name > // your password is your email // address. PLEASE give the // correct email address. > cd pub/systems/LiDIA // the directory where LiDIA // resides > binary // set binary mode for data // transfer > get README // get the README file > get COPYRIGHT // get the COPYRIGHT file > get LiDIA.tgz // get the package > bye // disconnect This session will get the files README, 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/ makefile.os2 bin/ config/ include/ makefile src/ Readme ............................................... this file bin ........... holds LiDIA's applications files (see make appl) lib .................. holds LiDIA's library and thr primes file config ...................... contains the configuration scripts doc .......... contains LiDIA's documentation in various formats include ............................ holds LiDIA's include files makefile ............................. for UNIX, Linux, AIX, ... makefile.os2 ..................................... for OS/2 only src ............................................ LiDIA's sources 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 /usr/local). Please enter an existing path on which you have write permission, since this is neccessary by the `make install' command below. If your machine produces objects in the ELF format you should also edit the file LiDIA/config/CONFIG and replace the line ASFLAGS = -DUMMY with ASFLAGS = -DHAVE_ELF Solaris users should also define -DSOLARIS after the default CFLAGS and CXXFLAGS (if this is not already guessed by the confi- gure script). After this 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 current path as 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 /usr/local/lib/LiDIA/$host-cpu/$cpp/libLiDIA.a where host-cpu is determined by the command `config.guess' of the GNU software and $cpp is the C++ compiler used (in this way you are allowed to create multiple libraries produced by different compilers on the same machine). LiDIA's include files are installed by default on /usr/local/include/LiDIA and finally LiDIA's binaries are installed on /usr/local/bin/LiDIA/$host-cpu/$cpp 4.3) Calling a test program ^^^^^^^^^^^^^^^^^^^^^^^^^^^ To call a test program, change to the directory UNPACKDIR/LiDIA/bin/$host-cpu/$cpp by simply typing cd UNPACKDIR/LiDIA/bin/$host-cpu/$cpp 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 @@@@@@@ 5.1) Send an email ^^^^^^^^^^^^^^^^^^ 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. 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 documentation), 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, enhancements, etc to lidia@cs.uni-sb.de Please, send bug reports (and fixes) to lidia-bugs@cs.uni-sb.de 5.2) Be a part of it ^^^^^^^^^^^^^^^^^^^^ We would also appreciate all sorts of feedback, bug reports and bug fixes, enhancements, contributions etc. At this point one short note (answering the question posed frequently by LiDIA users): For programs contributed to LiDIA the copyright remains to the author. However, once a program is contributed to LiDIA and is released for the public with LiDIA it is not possible to remove it from the package, since users may have built their work on top of it. LiDIA's policy is to put the author's name in the manual, the source code and in the announcement of the corresponding re- lease. For more details, please read the file COPYRIGHT in the main distribution directory. 6) LiDIA GOES TO DARMSTADT @@@@@@@@@@@@@@@@@@@@@@@@@@ The LiDIA Group will move to Darmstadt (about 40km from Frankfurt) by the end of the year, following Prof. J. Buchmann. Until the movement is completed, the user support (a team of 6 programmers) will remain in Saarbr"ucken. We will inform you more precisely on this in about one month. 7) ACKNOWLEDGEMENTS @@@@@@@@@@@@@@@@@@@ I would like to thank in the name of the LiDIA Group all users who have up-loaded, installed and beta-tested LiDIA in this short a- mount of time. LiDIA profits from user contributions and various public domain software packages: special thanks to Arjen Lenstra and Paul Leyland for freelip-1.0, Ralf Dentzer for libI and the GNU project for their superb software. LiDIA's development environment uses GNU tools extensively. Thanks also to Hans-J. Boehm and Alan J. Demers for the gc memory manager. Last but not least, I would like to thank my colleagues John Cremona (Exeter University) and Nigel P. Smart (University of Kent at Canterbury) for many useful comments and discussions. Best to all of you, Thomas Papanikolaou (TP) (papanik@cs.uni-sb.de) ------------------------------------------------------------------- To remove yourself from this mailing list, send a message with the subject of "unsubscribe" to lidia@cs.uni-sb.de. To obtain additional information regarding this list and its archives, send a message with the subject of "help" to lidiaadm@cs.uni-sb.de.