REDUCE 3.8, released in 2004, was the last commercial release of REDUCE before it became Open Source in 2008. This page provides access to the REDUCE 3.8 documentation, mainly for historical interest.
One key document is the REDUCE User's Manual, version 3.8. This provides a comprehensive guide to the REDUCE language and the supported packages. A comprehensive html-based help facility indexes essentially all capabilities of the system. A primer for the symbolic mode of REDUCE and the Standard Lisp Report are also online.
The particular packages with their own documentation are as follows:
algint This
package extends the INT operator so it can handle a wider range of expressions
involving square roots.
applysym This package provides
three programs APPLYSYM, QUASILINPDE and DETRAFO for computing with
infinitesimal symmetries of differential equations.
arnum This package provides facilities
for handling algebraic numbers as polynomial coefficients in REDUCE
calculations. It includes facilities for introducing indeterminates to
represent algebraic numbers, for calculating splitting fields, for factoring
and for finding greatest common divisors in such domains.
assist ASSIST contains a large number
of additional general purpose functions that allow a user to better adapt
REDUCE to various calculational strategies and to make the programming task
more straightforward and more efficient.
atensor This
package supports tensor manipulation.
avector This package performs vector
algebra using the same notation as scalar algebra. The basic algebraic
operations are supported, as are differentiation and integration of vectors
with respect to scalar variables, cross product and dot product, component
manipulation and application of scalar functions (e.g. cosine) to a vector to
yield a vector result.
boolean This package supports
computation with boolean expressions in the propositional calculus. The data
objects are composed from algebraic expressions connected by the infix boolean
operators and, or, implies, equiv, and the unary
prefix operator not. BOOLEAN allows you to simplify expressions built
from these operators, and to test properties like equivalence, subset property
etc.
cali CALI contains algorithms for
computations in commutative algebra closely related to the Groebner algorithm
for ideals and modules. Its heart is a new implementation of the Groebner
algorithm that also allows for the computation of syzygies. This
implementation is also applicable to submodules of free modules with
generators represented as rows of a matrix.
camal This package implements in
REDUCE the Fourier transform procedures of the CAMAL package for celestial
mechanics.
cantens CANTENS is a package that
creates an environment inside REDUCE which allows the user to manipulate and
simplify expressions containing various indexed objects such as tensors,
spinors, and quantum fields.
cgb The CGB package provides functions
for computing both Comprehensive Groebner Bases (CGB's) and conventional
Groebner systems, and for turning Groebner systems into CGB's.
changevr This package provides
facilities for changing the independent variables in a differential equation.
It is basically the application of the chain rule.
compact COMPACT is a package of
functions for the reduction of a polynomial in the presence of side relations.
COMPACT applies the side relations to the polynomial so that an equivalent
expression results with as few terms as possible.
conlaw This package presents three
different approaches for the determination of conservation laws of
differential equations.
crack CRACK is a package for solving
overdetermined systems of partial or ordinary differential equations (PDEs,
ODEs). Examples of programs which make use of CRACK for investigating ODEs
(finding symmetries, first integrals, an equivalent Lagrangian or a
"differential factorization") are included.
cvit This package provides an
alternative method for computing traces of Dirac gamma matrices, based on an
algorithm by Cvitanovich that treats gamma matrices as 3-j symbols.
defint DEFINT finds the definite
integral of an expression in a stated interval. It uses several techniques,
including an innovative approach based on the Meijer G-function, and contour
integration.
desir This package enables the basis
of formal solutions to be computed for an ordinary homogeneous differential
equation with polynomial coefficients over Q of any order, in the neighborhood
of zero (regular or irregular singular point, or ordinary point).
dfpart This package supports
computations with total and partial derivatives of formal function objects.
Such computations can be useful in the context of differential equations or
power series expansions.
dummy This package allows a user to
find the canonical form of expressions involving dummy variables. In that way,
the simplification of polynomial expressions can be fully achieved. The
indeterminates are general operator objects endowed with as few properties as
possible.
eds EDS provides a number of tools for
setting up and manipulating exterior differential systems and implements many
features of the theory. Its main strengths are the ability to use anholonomic
or moving frames and the care taken with nonlinear problems.
excalc The EXCALC package is designed
for easy use by all who are familiar with the calculus of Modern Differential
Geometry. The program is currently able to handle scalar-valued exterior
forms, vectors and operations between them, as well as non-scalar valued forms
(indexed forms).
fide This package uses computer algebra
to automate the process of numerically solving systems of partial differential
equations (PDES). For PDE solving, the finite difference method is applied.
(Note: the documentation for this package is in text format.)
fps This package can expand a specific
class of functions into their corresponding Laurent-Puiseux series.
gentran This package is an automatic
code GENerator and TRANslator. It constructs complete numerical programs based
on sets of algorithmic specifications and symbolic expressions. Formatted
FORTRAN, RATFOR or C code can be generated through a series of interactive
commands or under the control of a template processing routine.
geoprover This package provides
tools for the formulation and mechanized proofs of geometry statements in the
spirit of the "Chinese Prover" of W.-T. Wu and the fundamental book of S.-C.
Chou who proved 512 geometry theorems with this mechanized method.
ghyper The GHYPER package simplifies
several cases of generalized hypergeometric functions. The simplifications are
performed in terms of polynomials, elementary or special functions, or simpler
hypergeometric functions.
gnuplot The GNUPLOT package lets one
use the GNUPLOT graphical system directly from inside REDUCE, either for the
interactive display of curves/surfaces or for the production of pictures on
paper.
groebner The GROEBNER package
calculates Groebner bases using the Buchberger algorithm and provides related
algorithms for arithmetic with ideal bases, such as ideal quotients and
Hilbert polynomials.
ideals This package implements the
basic arithmetic for polynomial ideals by using the REDUCE Groebner bases
package.
ineq This package supports the ineq_solve operator that attempts to solve single inequalities and sets of
coupled inequalities.
invbase Involutive bases are a new
tool for solving multivariate polynomial problems, such as solving systems of
polynomial equations and analyzing polynomial ideals. An involutive basis of a
polynomial ideal is nothing more than a special form of a redundant Groebner
basis. The construction of involutive bases reduces the problem of solving
polynomial systems to simple linear algebra.
laplace This package can calculate
ordinary and inverse Laplace transforms of expressions.
lie LIE is a package of functions for
the classification of real n-dimensional Lie algebras.
liepde LIEPDE computes infinitesimal
symmetries for a given single system of differential equation(s) (ODEs or PDEs).
limits LIMITS is a fast limit package
for REDUCE for functions which are continuous except for computable poles and
singularities.
linalg This package provides a
selection of functions that are useful in the world of linear algebra.
mathml The MathML interface for
REDUCE provides an easy to use series of commands, allowing it to evaluate and
output MathML.
meijerg The MEIJERG package
simplifies several forms of Meijer's G function. The simplifications are
performed in terms of polynomials, elementary or special functions, or
(generalized) hypergeometric functions.
modsr This extends the SOLVE and ROOT
operators to modular polynomials and modular polynomial systems.
mrvlimit This package extends the
range of problems that can be solved by the LIMITS package.
ncpoly This package allows the user
to set up automatically a consistent environment for computing in an algebra
where non-commutativity is defined by Lie-bracket commutators.
normform This package defines an
operator smithex that computes the Smith normal form of a matrix.
numeric The numeric package supplies
procedures based on the approximation techniques of numerical mathematics. The
procedures use the rounded mode arithmetic of REDUCE, including the variable
precision feature which is exploited in some algorithms in an adaptive manner
to reach the desired accuracy.
odesolve The ODESOLVE package is a
solver for ordinary differential equations. At the present time it can handle
only a single scalar equation presented as an algebraic expression or
equation, and it can solve only first-order equations of simple types, linear
equations with constant coefficients and Euler equations.
orthovec ORTHOVEC is a collection
of REDUCE procedures and operations which provide a simple-to-use environment
for the manipulation of scalars and vectors.
physop This package provides a tool
for theoretical physicists wishing to perform calculations in quantum theory
with expressions containing operators. These operations consist mainly of the
calculation of commutators between operator expressions, and in the evaluation
of operator matrix elements in some abstract space.
pm PM is a general pattern matcher
similar in style to those found in systems such as Mathematica.
polydiv This package provides better
access to the standard internal polynomial division facilities of REDUCE and
implements polynomial pseudo-division. It provides optional local control over
the main variable used for division.
qsum This package is an implementation
of the q-analogues of Gosper's and Zeilberger's algorithm for
indefinite and definite summation of q-hypergeometric terms. A
Postscript version is also available.
randpoly This package is based on a
port of the Maple random polynomial generator together with some support
facilities for the generation of random numbers and anonymous procedures.
rataprx This package provides
functions to convert rational numbers into their periodic representation and
vice versa, to compute continued fractions and to compute the Padé
approximant of a function.
ratint This package implements the
Horowitz/Rothstein/Trager algorithms for the integration of rational
functions.
reacteqn This package transforms
chemical reaction systems into ordinary differential equation systems
corresponding to the laws of pure mass action.
redlog REDLOG extends REDUCE to a
computer logic system implementing symbolic algorithms on first-order formulas
with respect to temporarily fixed first-order languages and theories.
reset Provides support for resetting
REDUCE to its original state.
residue This package supports the
calculation of residues.
rlfi The RLFI package provides the
printing of REDUCE expressions in LaTeX format, so it can be used directly for
document production.
roots The root finding package finds
some or all of the roots of univariate polynomials with real or complex
coefficients, to the accuracy specified by the user.
rsolve The r_solve operator
computes all exact rational zeros of a single univariate polynomial using fast
modular methods. A companion operator i_solve computes only integer
zeros by a more efficient method than extracting them from the rational zeros.
rtrace This package provides tracing
and debugging facilities for REDUCE programming. It is a portable version of
the PSL-based rdebug package.
scope SCOPE is a package for producing
an optimized form for a set of expressions. It applies a heuristic search for
common (sub)expressions in a set of REDUCE assignment statements. The output
is a sequence of assignment statements.
sets The SETS package provides
algebraic-mode support for set operations on lists regarded as sets (or
representing explicit sets) and on implicit sets represented by identifiers.
sparse This package extends the
available matrix feature to enable calculations with sparse matrices. It also
provides a selection of functions that are useful in the world of linear
algebra with respect to sparse matrices.
spde The SPDE package provides
functions for determining the symmetry group of Lie- or point-symmetries of a
given set of partial differential equations. In many cases the determining
system is solved automatically. In other cases the user has to provide
additional information for the solution algorithm to succeed.
specfn This package supplies extended
algebraic and numeric support for a wide class of special functions.
sum The sum operator returns the
indefinite or definite summation of a given expression.
susy2 This package deals with
supersymmetric functions and with the algebra of supersymmetric operators in
the extended N=2 as well as in the nonextended N=1 supersymmetry.
symmetry The SYMMETRY package
computes symmetry-adapted bases and block diagonal forms of matrices that have
the symmetry of a group. The package implements the theory of linear
representations for small finite groups such as the dihedral groups.
taylor This package defines
procedures that compute Taylor expansions in one or more variables and
efficient manipulation of the resulting series.
tps This package implements formal
Laurent series expansions in one variable using the domain mechanism of
REDUCE, so that power series objects can be added, multiplied, differentiated
etc., like other first class objects in the system.
tri This package provides facilities
written in Rlisp for typesetting REDUCE formulas using TEX.
Examples of using this program are also
available.
trigint This package is an
implementation of a new algorithm proposed by D.J. Jeffrey and A.D. Rich that
removes "spurious" discontinuities from integrals.
trigsimp TRIGSIMP is a useful tool
for all kinds of trigonometric and hyperbolic simplification and
factorization.
wu This is a simple implementation of the
Wu algorithm taken directly from A Zero Structure Theorem for
Polynomial-Equations-Solving, Wu Wen-tsun, Institute of Systems Science,
Academia Sinica, Beijing.
xcolor This package calculates the
color factor in non-abelian gauge field theories using an algorithm due to
Cvitanovich.
xideal XIDEAL constructs Groebner
bases for solving the left ideal membership problem: Groebner left ideal bases
or GLIBs.
zeilberg This package implements
the Gosper and Zeilberger algorithms for indefinite and definite summation of
hypergeometric terms, respectively.
ztrans This package is an
implementation of the Z-transform of a sequence, which is the discrete
analogue of the Laplace Transform.