General Information on REDUCE/PSL

September 2007, Winfried Neun

REDUCE is a system and language for symbolic computation. It is documented in

A.C. Hearn: REDUCE USER'S MANUAL, Version 3.8, The Rand Corporation Santa Monica, July 2004, CA 90406-2138

J.H. Davenport, Y Siret, E. Tournier: Computer Algebra; Annex: REDUCE: a Computer Algebra System, Academic Press, London 1988

A. G. Grozin: Using REDUCE in High Energy Physics, Cambridge University Press, 1997

M. McCallum, F. Wright: Algebraic Computation with REDUCE, Oxford University Press, 1991

D. Stauffer, FW.Hehl, V. Winkelmann, J.G. Zabolitzky: Computer Simulation and Computer Algebra; Lectures for Beginners, Springer Verlag, New York, 1988

Portable Standard LISP (PSL) is a LISP dialect which was designed for portability and high speed execution. PSL is often used to support the execution of REDUCE.

Products

The Zuse Institute Berlin (ZIB) distributes REDUCE and Portable Standard LISP (PSL) in their current versions on the basis of license agreements with Dr. A.C. Hearn (the RAND Corporation), who is the owner of REDUCE and with the University of Utah.

Platforms

ZIB provides the software packages REDUCE and PSL for the following machine configurations:

PC systems, x86 or x86_64 under Windows (NT/2000/XP/VISTA)
PC systems, x86 or x86_64 under Linux (32 or 64 bit)
Macintosh under Mac OS/X (32 or 64 bit(G5))
SUN Microsystems SPARC (UNIX: Sun OS 4.0, Solaris 2.x)
Silicon Graphics (IRIX)
IBM RS/6000 series (AIX)
DEC VAX series (ULTRIX and VMS)
DEC alpha (OSF/1, Open VMS, Windows NT)
CRAY X-MP, Y-MP, T3D (UNIX: UNICOS)

Packages

ZIB offers packages: In general the full PSL 4.2 system is required only if extensive LISP programming independent from REDUCE is needed. For the algebraic programming in REDUCE and in RLISP the REDUCE package is fully sufficient.

License Conditions and Prices

Prerequisite for the shipment of one of the packages is a signed order form. The signature ensures that the copyrights of the software and the restrictions of its usage is acknowledged. The price for a single license includes Multiple licenses are available at a reduced price, including an unlimited license which gives acess to all platforms supported by ZIB.

The software is distributed on an as-is basis without any warranty. ZIB is not obliged to correct any error. However, in most cases ZIB will try to help our costumers on a voluntary basis.

ZIB must insist on receiving a signed order form. If local purchase orders are used, the ZIB order form has to be added. If a license for more than one machine type is needed, several order forms have to be filled and the prices have to be added.

The prices were chosen on a low level in order to facilitate the distribution of REDUCE among the scientific community. Consequently there is no further reduction for scientific or educational application.

We appreciate a payment in advance (MasterCard or Visa Card). In the past we had serious problems to get the money when we accepted an order without prepayment.

In case you prefer a direct money transfer please use the following account:

from Germany:

Name of the Bank: Berliner Bank BLZ: 10020010 Account Number: 3634535000

from abroad:

Name of the bank: Deutsche Bundesbank, Filiale Berlin Location of the bank: Berlin, Fed. Rep. of Germany Account for: Konrad-Zuse-Zentrum fuer Informationstechnik Berlin IBAN: DE48 1000 0000 0010 0019 01 BIC: MARKDEF1100
For this account money can be accepted either in $ US or Euro

Please give a corresponding note on the order form, if the fees for REDUCE/PSL are transferred to this account.

Technical Prerequisits and Distribution Media

The distribution media are: The full REDUCE system (including all sources and documents) requires approximately 20 megabytes of disc space. For the runtime support of REDUCE (binaries only) 9 megabytes of disc space are needed on line. There should be at least 4 megabytes of real memory available.

Performance

All versions distributed by ZIB are based on code generators, which produce fast native code for their target environments. The actual runtime needed for the REDUCE (3.8) standard test series is (as of Autumn 2007):
 
         PC x86 3 Ghz                 0.03 sec
         PC x86_64 in 64 bit mode     0.04 sec
         Mac Intel Processor          0.05 sec
         Mac Power Processor          0.10 sec

just for fun compared with the figures from 1996:

         IBM RS/6000 520              5.2 sec
         DECstation 5000/200          3.0 sec
         486 DX2 (66MHz)              2.6 sec 
         SparcStation 10-30           2.2 sec
         IBM RS/6000 910              1.7 sec
         SCI Indigo Elan 4000         1.6 sec
         DEC Alpha AXP OSF            1.6 sec
         CRAY Y-MP                    1.1 sec
         HP 9000/735                  0.9 sec
         Intel Pentium 100 MHz       ~1.0 sec
	 Sun UltraSparc I	     ~0.5 sec

Memory Layout

Workstations and PCs

All versions distributed by ZIB contain a dynamic heap management: the heap can be enlarged at runtime or startup time; so only one binary image must be available, which can be tailored to the actual need by simple REDUCE/PSL commands; in the case of overflow the heap is enlarged automatically.

There are two upper limits for the memory size usable by a REDUCE or PSL application:

The virtual address space is limited by the installation parameters (swap space size) of the local UNIX version and the dynamic workload of the computer at application runtime.

The PSL data model requires, that in one data item (= 4 byte word) contains an address and a tag field (of at least 5 bits). For reasons of efficiency a two-heap model is used for some systems: the garbage collector moves data from one heap to the other. So 8 bytes are needed for the long term storage of one item. This limits the size of each heap (=size of usable storage for data structures) to

 
     Sparc 32 bit, Mac G4, Mac Intel,
            RS/6000, VAX:                     15.000.000 items
     x86 (Linux or Windows):                  30.000.000 items
     MIPS 32 bit                              60.000.000 items
     x86_64 (Linux), Mac G5, Sparc 64, 
     SGI Iris 64 bit, 
     DEC Alpha:                             ~ 2^56 / 16  items   

Graphical Output, Plot Output, on-line Help

For Unix based machines and personal computers running Windows or Linux a typesetting-like output of mathematical objects is supported optionally based on X Windows or MS Windows. For plotting of curves and surfaces an interface to the public domain package GNUPLOT is available. The necessary GNUPLOT binaries are included in the REDUCE distribution for PC's and most UNIX workstations.

A help facility allows you to access the REDUCE reference manual at run time in a hypertext like style. This is also included in Personal REDUCE.

Additional literature

Some of the implementation details are described in
 
J. Anderson, W. Galway, R.Kessler, H. Melenk, W.Neun: The 
     implementation and Optimization of Portable Standard LISP
     for the CRAY, IEEE Software, July 1987, and ZIB SC 87-1
 
W. Neun, H. Melenk: Implementation of the LISP Arbitrary Precision
     Arithmetic for a Vector processor, in: J. Della Dora, J. Fitch 
     (eds): "Computer Algebra and Parallelism", Academic Press,
     London 1989 and ZIB SC88-1

H. Melenk, W.Neun: Implementation of Portable Standard LISP for
    the SPARC Processor, 1989, Berlin, ZIB TR 89-6
For further questions please contact
 
    Konrad Zuse Zentrum fuer Informationstechnik
    Takustrasse 7
    D-14195 Berlin-Dahlem
    Germany
    FAX: [49](30)84185 - 269
    email:  neun@zib.de 
 
    phone: [49](30)84185 - 196  (W. Neun)


ZIB home page


Winfried Neun, 21-Sep-2007