REDUCE 3.7 Documentation
REDUCE 3.7 includes considerable documentation, not only for the core system,
but also for the many application packages included in the release. Except
where noted, the documentation is available in PDF format, which requires
the free Acrobat
reader for viewing.
One key document is the REDUCE
User's Manual, version 3.7. This provides a comprehensive guide
to the REDUCE language and the supported packages. A Postscript
version of this and a Japanese
version in HTML are also available. 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:

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.

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. A paper
describing these approaches is also available.

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 3j 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 Gfunction, 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 scalarvalued exterior forms, vectors and operations between
them, as well as nonscalar 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
LaurentPuiseux 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.

geometry
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 ndimensional
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.

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 noncommutativity is defined by Liebracket
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 firstorder 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 simpletouse 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 pseudodivision.
It provides optional local control over the main variable used for division.

qsum
This package is an implementation of the qanalogues of Gosper's
and Zeilberger's algorithm for indefinite and definite summation of qhypergeometric
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 firstorder formulas with respect to temporarily fixed firstorder
languages and theories.

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 PSLbased 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 algebraicmode 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 pointsymmetries 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 symmetryadapted 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.

turtle
A simple implementation of the "Turtle Graphics" style drawing graphs
in REDUCE. The background and ideas for "Turtle Graphics" are also outlined.

wu
This is a simple implementation of the Wu algorithm taken directly from
A Zero Structure Theorem for PolynomialEquationsSolving, Wu Wentsun,
Institute of Systems Science, Academia Sinica, Beijing.

xcolor
This package calculates the color factor in nonabelian 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 Ztransform of a sequence, which
is the discrete analogue of the Laplace Transform.
Lisp Systemspecific Documentation
A REDUCE implementation is built at the present time on one of two Lisp
systems; Codemist Standard Lisp (CSL) or Portable Standard Lisp (PSL).
The following documents are specific to the PSL version:

pcinstall
Installation guide for the PC version of PSL REDUCE. A Postscript
version is also available.

pcoper
User's guide for the PC version of PSL REDUCE. A Postscript
version is also available.

pslman
The PSL Users Manual, Version 4.2. A Postscript
version is also available.

rdebug
This package supports the use of the tracing and debugging facilities of
PSL for REDUCE programming. A Postscript
version is also available.

unixinst
Installation guide for the Unix version of PSL REDUCE. A Postscript
version is also available.

unixoper
User's guide for the Unix version of PSL REDUCE. A Postscript
version is also available.