next up previous TOP
Next: Demonstration Versions Up: REDUCE Home Page Top: REDUCE Online Documentation

REDUCE Information Package

REDUCE is an interactive program designed for general algebraic computations of interest to mathematicians, scientists and engineers. Its capabilities include: It is often used as an algebraic calculator for problems that are possible to do by hand. However, the main aim of REDUCE is to support calculations that are not feasible by hand. Many such calculations take a significant time to set up and can run for minutes, hours or even days on the most powerful computers. In support of this goal, REDUCE has the following characteristics:
  1. Code stability. Various versions of REDUCE have been in use for over twenty years. There has been a steady stream of improvements and refinements since then, with the source being subject to wide review by the user community. REDUCE has thus evolved into a powerful system whose critical components are highly reliable, stable and efficient.
  2. Wide user base. A particular algebra system is often chosen for a given calculation because of its widespread use in a particular application area, with existing packages and templates being used to speed up problem solving. As evidenced by more than 800 reports listed in the current bibliography, REDUCE has a large and dedicated user community working in just about every branch of computational science and engineering. A large number of special purpose packages are available in support of this, with many contributed by users.
  3. Full source code availability. From the beginning, it has been possible to obtain the complete REDUCE source code, including the ``kernel''. Consequently, REDUCE is a valuable educational resource and a good foundation for experiments in the discipline of computer algebra. Many users do in fact effectively modify the source code for their own purposes.
  4. Flexible updating. One advantage of making all code accessible to the user is that it is relatively easy to incorporate patches to correct small problems or extend the applicability of existing code to new problem areas. An electronic mail service and gopher and World Wide Web servers allow users to get such updates and complete new packages as they become available, without having to wait for a formal system release.
  5. State-of-the-art algorithms. Another advantage of an ``open'' system is that there is a shared development effort involving both distributors and users. As a result, it is easier to keep the code up-to-date, with the best current algorithms being used soon after their development. At the present time, we believe REDUCE has the best available code for solving nonlinear polynomial equations using Groebner bases, real and complex root finding to any precision, exterior calculus calculations and optimized numerical code generation among others. Its simplification strategy, using a combination of efficient polynomial manipulation and flexible pattern matching is focussed on giving users as natural a result as possible without excessive programming.
  6. Algebraic focus. REDUCE aims at being part of a complete scientific environment rather than being the complete environment itself. As a result, users can take advantage of other state-of-the-art systems specializing in numerical and graphical calculations, rather than depend on just one system to provide everything. To this end, REDUCE provides facilities for writing results in a form compatible with common programming numerical languages (such as Fortran) or document processors such as TeX.
  7. Portability. Careful design for portability means REDUCE is often available on new or uncommon machines soon after their release. This has led to significant user communities throughout the world. At the present time, REDUCE is readily available on essentially all workstations and high-end microprocessor-based machines in the market.
  8. Uniformity. Even though REDUCE is supported with different Lisps on many different platforms, much attention has been paid to making all versions perform in the same manner regardless of implementation. As a result, users can have confidence that their calculations will not behave differently if they move them to a different machine.
  9. Flexible Offerings. To support the differing needs of the user community, REDUCE is available in a number of different configurations:
    1. personal system, ready to run, available for a selection of common personal computers, shipped without source and hence with less easy updatability between major releases, but at lowest cost for a single user site;
    2. professional system, which comes with source, and is licensed for use on one CPU or fileserver and so can be especially attractive for laboratories or work-groups;
    3. site licenses, which extend the professional system to cover all similar machines at a single postal address.
  10. Cost. The cost of a complete REDUCE to the end-user is moderate, and does not vary substantially from platform to platform. In addition, the personal systems and site licenses are offered on very generous terms. Moreover, since all systems are derived from the same source base, they are very compatible from platform to platform (from a PC to a Cray supercomputer). This makes it possible to have compatible versions at home and work.
The most recent release of REDUCE (Version 3.6) is dated 15 July 1995. It is available for most common computing systems, in some cases in more than one version for the same machine, through a variety of distributors listed in this memo. REDUCE is based on a dialect of Lisp called Standard Lisp, and the differences between versions are the result of different implementations of this Lisp; in each case the source code for REDUCE itself remains the same. The complete source code for REDUCE is available. On-line versions of the manual and other support documents and tutorials are also normally included with the distribution.

In order to help users choose the best version of REDUCE for their purposes, we describe the general characteristics of the available Lisps, followed by a table of the particular versions supported on each machine, and finally the full names and addresses of the REDUCE distributors.

Since Standard Lisp includes a limited number of functions, it is possible to run REDUCE on most modern Lisps, since they contain these functions as a subset. However, the distributed versions of REDUCE are based on two easily available Lisps, namely:



next up previous TOP
Next: Demonstration Versions Up: REDUCE Home Page Top: REDUCE Online Documentation


 


REDUCE WWW Pages maintained by Strotmann@RRz.Uni-Koeln.DE at Universität zu Köln

Copyright (C) RAND 1995. All Rights Reserved.