What is REDUCE?

REDUCE is a portable general-purpose computer algebra system. It is a system for doing scalar, vector and matrix algebra by computer, which also supports arbitrary precision numerical approximation and interfaces to gnuplot to provide graphics. It can be used interactively for simple calculations (as illustrated in the screenshot below) but also provides a full programming language, with a syntax similar to other modern programming languages. REDUCE supports alternative user interfaces including Run-REDUCE, TeXmacs and GNU Emacs.

REDUCE (and its complete source code) is available free of charge for most common computing systems, in some cases in more than one version for the same machine. The manual and other support documents and tutorials are also included in the distributions.

CSL REDUCE on Microsoft Windows

REDUCE has a long and distinguished place in the history of computer algebra systems (see the bibliography). Other systems that address some of the same issues but sometimes with rather different emphasis are Axiom, Macsyma (Maxima), Maple and Mathematica.

REDUCE is implemented in Lisp (as are Axiom and Macsyma), but this is completely hidden from the casual user. REDUCE primarily runs on either Portable Standard Lisp (PSL) or Codemist Standard Lisp (CSL), both of which are available in the distributions. PSL is long-established and compiles to machine code, whereas CSL is newer and compiles to byte code. Hence, PSL may be faster but CSL may be available on a wider range of platforms. CSL provides a graphical user interface (as illustrated in the screenshot above), but PSL provides only a command-line interface.