123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005 |
- \chapter{User Contributed Packages} \index{User packages}
- \label{chap-user}
- The complete {\REDUCE} system includes a number of packages contributed by
- users that are provided as a service to the user community. Questions
- regarding these packages should be directed to their individual authors.
- All such packages have been precompiled as part of the installation process.
- However, many must be specifically loaded before they can be used. (Those
- that are loaded automatically are so noted in their description.) You should
- also consult the user notes for your particular implementation for further
- information on whether this is necessary. If it is, the relevant command is
- {\tt LOAD\_PACKAGE},\ttindex{LOAD\_PACKAGE} which takes a list of one or
- more package names as argument, for example:
- \begin{verbatim}
- load_package algint;
- \end{verbatim}
- although this syntax may vary from implementation to implementation.
- Nearly all these packages come with separate documentation and test files
- (except those noted here that have no additional documentation), which is
- included, along with the source of the package, in the {\REDUCE} system
- distribution. These items should be studied for any additional details on
- the use of a particular package.
- Part 2 of this manual contains short documentation for the packages
- \begin{itemize}
- %%
- %%The packages available in the current release of {\REDUCE} are as follows:
- %%
- \item
- {ALGINT: Integration of square roots} (chapter~\ref{ALGINT});\ttindex{ALGINT}
- %%
- %%This package, which is an extension of the basic integration package
- %%distributed with {\REDUCE}, will analytically integrate a wide range of
- %%expressions involving square roots where the answer exists in that class
- %%of functions. It is an implementation of the work described in J.H.
- %%Davenport, ``On the Integration of Algebraic Functions", LNCS 102,
- %%Springer Verlag, 1981. Both this and the source code should be consulted
- %%for a more detailed description of this work.
- %%
- %%Once the {\tt ALGINT} package has been loaded, using {\tt LOAD\_PACKAGE},
- %%one enters an expression for integration, as with the regular integrator,
- %%for example:
- %%\begin{verbatim}
- %% int(sqrt(x+sqrt(x**2+1))/x,x);
- %%\end{verbatim}
- %%If one later wishes to integrate expressions without using the facilities of
- %%this package, the switch {\tt ALGINT}\ttindex{ALGINT} should be turned
- %%off. This is turned on automatically when the package is loaded.
- %%
- %%The switches supported by the standard integrator (e.g., {\tt TRINT})
- %%\ttindex{TRINT} are also supported by this package. In addition, the
- %%switch {\tt TRA},\ttindex{TRA} if on, will give further tracing
- %%information about the specific functioning of the algebraic integrator.
- %%
- %%There is no additional documentation for this package.
- %%
- %%Author: James H. Davenport.
- %%
- \item
- {APPLYSYM: Infinitesimal symmetries of differential equations}
- (chapter~\ref{APPLYSYM});\ttindex{APPLYSYM}
- %%\ttindex{APPLYSYM}
- %%
- %%This package provides programs APPLYSYM, QUASILINPDE and DETRAFO for
- %%computing with infinitesimal symmetries of differential equations.
- %%
- %%Author: Thomas Wolf.
- %%
- \item
- {ARNUM: An algebraic number package} (chapter~\ref{ARNUM});\ttindex{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, and for factoring and finding greatest common divisors
- %%in such domains.
- %%
- %%Author: Eberhard Schr\"ufer.
- %%
- \item
- {ASSIST: Useful utilities for various applications}
- (chapter~\ref{ASSIST});\ttindex{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.
- %%
- %%Author: Hubert Caprasse.
- %%
- \item
- {AVECTOR: A vector algebra and calculus package}
- (chapter~\ref{AVECTOR});\ttindex{AVECTOR}
- %%
- %%This package provides REDUCE with the ability to perform 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.
- %%
- %%Author: David Harper.
- %%
- \item
- {BOOLEAN: A package for boolean algebra} (chapter~\ref{BOOLEAN});
- \ttindex{BOOLEAN}
- %%
- %%This package supports the computation with boolean expressions in the
- %%propositional calculus. The data objects are composed from algebraic
- %%expressions connected by the infix boolean operators {\bf and}, {\bf or},
- %%{\bf implies}, {\bf equiv}, and the unary prefix operator {\bf not}.
- %%{\bf Boolean} allows you to simplify expressions built from these
- %%operators, and to test properties like equivalence, subset property etc.
- %%
- %%Author: Herbert Melenk.
- %%
- \item
- {CALI: A package for computational commutative algebra}
- (chapter~\ref{CALI});\ttindex{CALI}
- %%\ttindex{CALI}
- %%
- %%This package contains algorithms for computations in commutative algebra
- %%closely related to the Gr\"obner algorithm for ideals and modules. Its
- %%heart is a new implementation of the Gr\"obner 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.
- %%
- %%Author: Hans-Gert Gr\"abe.
- %%
- \item
- {CAMAL: Calculations in celestial mechanics} (chapter~\ref{CAMAL});
- \ttindex{CAMAL}
- %%
- %%This packages implements in REDUCE the Fourier transform procedures of the
- %%CAMAL package for celestial mechanics.
- %%
- %%Author: John P. Fitch.
- %%
- \item
- {CHANGEVR: Change of Independent Variable(s) in DEs}
- (chapter~\ref{CHANGEVR});\ttindex{CHANGEVR}
- %%
- %%This package provides facilities for changing the independent variables in
- %%a differential equation. It is basically the application of the chain rule.
- %%
- %%Author: G. \"{U}\c{c}oluk.
- %%
- \item
- {COMPACT: Package for compacting expressions} (chapter~\ref{COMPACT});
- \ttindex{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. For example, the evaluation of
- %%\begin{verbatim}
- %% compact(s*(1-sin x^2)+c*(1-cos x^2)+sin x^2+cos x^2,
- %% {cos x^2+sin x^2=1});
- %%\end{verbatim}
- %%yields the result\pagebreak[1]
- %%\begin{samepage}
- %%\begin{verbatim}
- %% 2 2
- %% SIN(X) *C + COS(X) *S + 1 .
- %%\end{verbatim}
- %%
- %%Author: Anthony C. Hearn.
- %%\end{samepage}
- %%
- \item
- {CONTFR: Approximation of a number by continued fractions}
- (chapter~\ref{CONTFR});\ttindex{CONTFR}
- %%
- %%This package provides for the simultaneous approximation of a real number
- %%by a continued fraction and a rational number with optional user
- %%controlled precision (upper bound for numerator).
- %%
- %%To use this package, the {\bf misc} package should be loaded. One can then
- %%use the operator\ttindex{continued\_fraction} to calculate the required
- %%sequence. For example:
- %%\begin{verbatim}
- %%
- %% continued_fraction pi; ->
- %%
- %% 1146408
- %% {---------,{3,7,15,1,292,1,1,1,2,1}}
- %% 364913
- %%\end{verbatim}
- %%
- %%There is no further documentation for this package.
- %%
- %%Author: Herbert Melenk.
- %%
- \item
- {CRACK: Solving overdetermined systems of PDEs or ODEs}
- (chapter~\ref{CRACK});\ttindex{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.
- %%
- %%Authors: Andreas Brand, Thomas Wolf.
- %%
- \item
- {CVIT: Fast calculation of Dirac gamma matrix traces}
- (chapter~\ref{CVIT});\ttindex{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.
- %%
- %%Authors: V.Ilyin, A.Kryukov, A.Rodionov, A.Taranov.
- %%
- \item
- {DEFINT: A definite integration interface for REDUCE}
- (chapter~\ref{DEFINT});\ttindex{DEFINT}
- %%
- %%This package 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.
- %%
- %%Authors: Kerry Gaskell, Stanley M. Kameny, Winfried Neun.
- %%
- \item
- {DESIR: Differential linear homogeneous equation solutions in the
- neighborhood of irregular and regular singular points}
- (chapter~\ref{DESIR});\ttindex{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).
- %%
- %%Documentation for this package is in plain text.
- %%
- %%Authors: C. Dicrescenzo, F. Richard-Jung, E. Tournier.
- %%
- \item
- {DFPART: Derivatives of generic functions}
- (chapter~\ref{DFPART});\ttindex{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.
- %%
- %%Author: Herbert Melenk.
- %%
- \item
- {DUMMY: Canonical form of expressions with dummy variables}
- (chapter~\ref{DUMMY});\ttindex{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 done. The indeterminates are general
- %%operator objects endowed with as few properties as possible. In that way
- %%the package may be used in a large spectrum of applications.
- %%
- %%Author: Alain Dresse.
- %%
- \item
- {EXCALC: A differential geometry package} (chapter~\ref{EXCALC});
- \ttindex{EXCALC}
- %%
- %%EXCALC 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). It is thus an ideal tool for
- %%studying differential equations, doing calculations in general relativity
- %%and field theories, or doing simple things such as calculating the
- %%Laplacian of a tensor field for an arbitrary given frame.
- %%
- %%Author: Eberhard Schr\"ufer.
- %%
- \item
- {FPS: Automatic calculation of formal power series}
- (chapter~\ref{FPS});\ttindex{FPS}
- %%
- %%This package can expand a specific class of functions into their
- %%corresponding Laurent-Puiseux series.
- %%
- %%Authors: Wolfram Koepf and Winfried Neun.
- %%
- \item
- {FIDE: Finite difference method for partial differential equations}
- (chapter~\ref{FIDE});\ttindex{FIDE}
- %%
- %%This package performs automation of the process of numerically
- %%solving partial differential equations systems (PDES) by means of
- %%computer algebra. For PDES solving, the finite difference method is applied.
- %%The computer algebra system REDUCE and the numerical programming
- %%language FORTRAN are used in the presented methodology. The main aim of
- %%this methodology is to speed up the process of preparing numerical
- %%programs for solving PDES. This process is quite often, especially for
- %%complicated systems, a tedious and time consuming task.
- %%
- %%Documentation for this package is in plain text.
- %%
- %%Author: Richard Liska.
- %%
- \item
- {GENTRAN: A code generation package} (chapter~\ref{GENTRAN});
- \ttindex{GENTRAN}
- %%
- %%GENTRAN is an automatic code GENerator and TRANslator. It constructs
- %%complete numerical programs based on sets of algorithmic specifications
- %%and symbolic expressions. Formatted FORTRAN, RATFOR, PASCAL or C code can be
- %%generated through a series of interactive commands or under the control of
- %%a template processing routine. Large expressions can be automatically
- %%segmented into subexpressions of manageable size, and a special
- %%file-handling mechanism maintains stacks of open I/O channels to allow
- %%output to be sent to any number of files simultaneously and to facilitate
- %%recursive invocation of the whole code generation process.
- %%
- %%Author: Barbara L. Gates.
- %%
- \item
- {GNUPLOT: Display of functions and surfaces}
- (chapter~\ref{GNUPLOT});\ttindex{PLOT}\ttindex{GNUPLOT}
- %%
- %%This package is an interface to the popular GNUPLOT package.
- %%It allows you to display functions in 2D and surfaces in 3D
- %%on a variety of output devices including X terminals, PC monitors, and
- %%postscript and Latex printer files.
- %%
- %%NOTE: The GNUPLOT package may not be included in all versions of REDUCE.
- %%
- %%Author: Herbert Melenk.
- %%
- \item
- {GROEBNER: A Gr\"obner basis package} (chapter~\ref{GROEBNER});
- \ttindex{GROEBNER}
- %%
- %%GROEBNER\ttindex{GROEBNER} is a package for the computation of Gr\"obner
- %%Bases using the Buchberger algorithm and related methods
- %%for polynomial ideals and modules. It can be used over a variety of
- %%different coefficient domains, and for different variable and term
- %%orderings.
- %%
- %%Gr\"obner Bases can be used for various purposes in commutative
- %%algebra, e.g. for elimination of variables,\index{Variable elimination}
- %%converting surd expressions to implicit polynomial form,
- %%computation of dimensions, solution of polynomial equation systems
- %%\index{Polynomial equations} etc.
- %%The package is also used internally by the {\tt SOLVE}\ttindex{SOLVE}
- %%operator.
- %%
- %%Authors: Herbert Melenk, H.M. M\"oller and Winfried Neun.
- %%
- \item
- {IDEALS: Arithmetic for polynomial ideals} (chapter~\ref{IDEALS});
- \ttindex{IDEALS}
- %%
- %%This package implements the basic arithmetic for polynomial ideals by
- %%exploiting the Gr\"obner bases package of REDUCE. In order to save
- %%computing time all intermediate Gr\"obner bases are stored internally such
- %%that time consuming repetitions are inhibited.
- %%
- %%Author: Herbert Melenk.
- %%
- \item
- {INEQ: Support for solving inequalities} (chapter~\ref{INEQ});\ttindex{INEQ}
- %%
- %%This package supports the operator {\bf ineq\_solve} that
- %%tries to solves single inequalities and sets of coupled inequalities.
- %%
- %%Author: Herbert Melenk.
- %%
- \item
- {INVBASE: A package for computing involutive bases}
- (chapter~\ref{INVBASE});\ttindex{INVBASE}
- %%
- %%Involutive bases are a new tool for solving problems in connection with
- %%multivariate polynomials, such as solving systems of polynomial equations
- %%and analyzing polynomial ideals. An involutive basis of polynomial ideal
- %%is nothing but a special form of a redundant Gr\"obner basis. The
- %%construction of involutive bases reduces the problem of solving polynomial
- %%systems to simple linear algebra.
- %%
- %%Authors: A.Yu. Zharkov and Yu.A. Blinkov.
- %%
- \item
- {LAPLACE: Laplace and inverse Laplace transforms}
- (chapter~\ref{LAPLACE});\ttindex{LAPLACE}
- %%
- %%This package can calculate ordinary and inverse Laplace transforms of
- %%expressions. Documentation is in plain text.
- %%
- %%Authors: C. Kazasov, M. Spiridonova, V. Tomov.
- %%
- \item
- {LIE: Functions for the classification of real n-dimensional Lie
- algebras} (chapter~\ref{LIE});\ttindex{LIE}
- %%algebras}
- %%\ttindex{LIE}
- %%
- %%{\bf LIE} is a package of functions for the classification of real
- %%n-dimensional Lie algebras. It consists of two modules: {\bf liendmc1}
- %%and {\bf lie1234}. With the help of the functions in the {\bf liendmcl}
- %%module, real n-dimensional Lie algebras $L$ with a derived algebra
- %%$L^{(1)}$ of dimension 1 can be classified.
- %%
- %%Authors: Carsten and Franziska Sch\"obel.
- %%
- \item
- {LIMITS: A package for finding limits} (chapter~\ref{LIMITS});\ttindex{LIMITS}
- %%
- %%LIMITS is a fast limit package for REDUCE for functions which are
- %%continuous except for computable poles and singularities, based on some
- %%earlier work by Ian Cohen and John P. Fitch. The Truncated Power Series
- %%package is used for non-critical points, at which the value of the
- %%function is the constant term in the expansion around that point.
- %%L'H\^opital's rule is used in critical cases, with preprocessing of
- %%$\infty - \infty$ forms and reformatting of product forms in order to
- %%be able to apply l'H\^opital's rule. A limited amount of bounded arithmetic
- %%is also employed where applicable.
- %%
- %%This package defines a {\tt LIMIT} operator, called with the syntax:
- %%\begin{verbatim}
- %% LIMIT(EXPRN:algebraic,VAR:kernel,LIMPOINT:algebraic):
- %% algebraic.
- %%\end{verbatim}
- %%For example:
- %%\begin{verbatim}
- %% limit(x*sin(1/x),x,infinity) -> 1
- %% limit(sin x/x^2,x,0) -> INFINITY
- %%\end{verbatim}
- %%Direction-dependent limit operators {\tt LIMIT!+} and {\tt LIMIT!-} are
- %%also defined.
- %%
- %%This package loads automatically.
- %%
- %%Author: Stanley L. Kameny.
- %%
- \item
- {LINALG: Linear algebra package} (chapter~\ref{LINALG});\ttindex{LINALG}
- %%
- %%This package provides a selection of functions that are useful
- %%in the world of linear algebra.
- %%
- %%Author: Matt Rebbeck.
- %%
- \item
- {MODSR: Modular solve and roots} (chapter~\ref{MODSR});\ttindex{MODSR}
- %%
- %%This package supports solve (M\_SOLVE) and roots (M\_ROOTS) operators for
- %%modular polynomials and modular polynomial systems. The moduli need not
- %%be primes. M\_SOLVE requires a modulus to be set. M\_ROOTS takes the
- %%modulus as a second argument. For example:
- %%
- %%\begin{verbatim}
- %%on modular; setmod 8;
- %%m_solve(2x=4); -> {{X=2},{X=6}}
- %%m_solve({x^2-y^3=3});
- %% -> {{X=0,Y=5}, {X=2,Y=1}, {X=4,Y=5}, {X=6,Y=1}}
- %%m_solve({x=2,x^2-y^3=3}); -> {{X=2,Y=1}}
- %%off modular;
- %%m_roots(x^2-1,8); -> {1,3,5,7}
- %%m_roots(x^3-x,7); -> {0,1,6}
- %%\end{verbatim}
- %%
- %%There is no further documentation for this package.
- %%
- %%Author: Herbert Melenk.
- %%
- \item
- {NCPOLY: Non--commutative polynomial ideals}
- (chapter~\ref{NCPOLY});\ttindex{NCPOLY}
- %%\ttindex{NCPOLY}
- %%
- %%This package allows the user to set up automatically a consistent
- %%environment for computing in an algebra where the non--commutativity is
- %%defined by Lie-bracket commutators. The package uses the {REDUCE} {\bf
- %%noncom} mechanism for elementary polynomial arithmetic; the commutator
- %%rules are automatically computed from the Lie brackets.
- %%
- %%Authors: Herbert Melenk and Joachim Apel.
- %%
- \item
- {NORMFORM: Computation of matrix normal forms}
- (chapter~\ref{NORMFORM});\ttindex{NORMFORM}
- %%
- %%This package contains routines for computing the following
- %%normal forms of matrices:
- %%\begin{itemize}
- %%\item smithex\_int
- %%\item smithex
- %%\item frobenius
- %%\item ratjordan
- %%\item jordansymbolic
- %%\item jordan.
- %%\end{itemize}
- %%
- %%Author: Matt Rebbeck.
- %%
- \item
- {NUMERIC: Solving numerical problems} (chapter~\ref{NUMERIC});\ttindex{NUMERIC}
- %%\ttindex{NUM\_SOLVE}\index{Newton's method}\ttindex{NUM\_ODESOLVE}
- %%\ttindex{BOUNDS}\index{Chebyshev fit}
- %%\ttindex{NUM\_MIN}\index{Minimum}\ttindex{NUM\_INT}\index{Quadrature}
- %%This package implements basic algorithms of numerical analysis.
- %%These include:
- %%\begin{itemize}
- %%\item solution of algebraic equations by Newton's method
- %%\begin{verbatim}
- %% num_solve({sin x=cos y, x + y = 1},{x=1,y=2})
- %%\end{verbatim}
- %%\item solution of ordinary differential equations
- %%\begin{verbatim}
- %% num_odesolve(df(y,x)=y,y=1,x=(0 .. 1), iterations=5)
- %%\end{verbatim}
- %%\item bounds of a function over an interval
- %%\begin{verbatim}
- %% bounds(sin x+x,x=(1 .. 2));
- %%\end{verbatim}
- %%\item minimizing a function (Fletcher Reeves steepest descent)
- %%\begin{verbatim}
- %% num_min(sin(x)+x/5, x);
- %%\end{verbatim}
- %%\item Chebyshev curve fitting
- %%\begin{verbatim}
- %% chebyshev_fit(sin x/x,x=(1 .. 3),5);
- %%\end{verbatim}
- %%\item numerical quadrature
- %%\begin{verbatim}
- %% num_int(sin x,x=(0 .. pi));
- %%\end{verbatim}
- %%\end{itemize}
- %%
- %%Author: Herbert Melenk.
- %%
- \item
- {ODESOLVE: Ordinary differential equations solver}
- (chapter~\ref{ODESOLVE});\ttindex{ODESOLVE}
- %%
- %%The ODESOLVE package is a solver for ordinary differential equations. At
- %%the present time it has very limited capabilities. 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. These solvable
- %%types are exactly those for which Lie symmetry techniques give no useful
- %%information. For example, the evaluation of
- %%\begin{verbatim}
- %% depend(y,x);
- %% odesolve(df(y,x)=x**2+e**x,y,x);
- %%\end{verbatim}
- %%yields the result
- %%\begin{verbatim}
- %% X 3
- %% 3*E + 3*ARBCONST(1) + X
- %% {Y=---------------------------}
- %% 3
- %%\end{verbatim}
- %%
- %%Main Author: Malcolm A.H. MacCallum.
- %%
- %%Other contributors: Francis Wright, Alan Barnes.
- %%
- \item
- {ORTHOVEC: Manipulation of scalars and vectors}
- (chapter~\ref{ORTHOVEC});\ttindex{ORTHOVEC}
- %%
- %%ORTHOVEC is a collection of REDUCE procedures and operations which
- %%provide a simple-to-use environment for the manipulation of scalars and
- %%vectors. Operations include addition, subtraction, dot and cross
- %%products, division, modulus, div, grad, curl, laplacian, differentiation,
- %%integration, and Taylor expansion.
- %%
- %%Author: James W. Eastwood.
- %%
- \item
- {PHYSOP: Operator calculus in quantum theory}
- (chapter~\ref{PHYSOP});\ttindex{PHYSOP}
- %%
- %%This package has been designed to meet the requirements of theoretical
- %%physicists looking for a computer algebra tool to perform complicated
- %%calculations in quantum theory with expressions containing operators.
- %%These operations consist mainly of the calculation of commutators between
- %%operator expressions and in the evaluations of operator matrix elements in
- %%some abstract space.
- %%
- %%Author: Mathias Warns.
- %%
- \item
- {PM: A REDUCE pattern matcher} (chapter~\ref{PM});\ttindex{PM}
- %%
- %%PM is a general pattern matcher similar in style to those found in systems
- %%such as SMP and Mathematica, and is based on the pattern matcher described
- %%in Kevin McIsaac, ``Pattern Matching Algebraic Identities'', SIGSAM Bulletin,
- %%19 (1985), 4-13.
- %%
- %%Documentation for this package is in plain text.
- %%
- %%Author: Kevin McIsaac.
- %%
- \item
- {RANDPOLY: A random polynomial generator} (chapter~\ref{RANDPOLY});
- \ttindex{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.
- %%
- %%Author: Francis J. Wright.
- %%
- \item
- {REACTEQN: Support for chemical reaction equation systems}
- (chapter~\ref{REACTEQN});\ttindex{REACTEQN}
- %%
- %%This package allows a user to transform chemical reaction systems into
- %%ordinary differential equation systems (ODE) corresponding to the laws of
- %%pure mass action.
- %%
- %%Documentation for this package is in plain text.
- %%
- %%Author: Herbert Melenk.
- %%
- \item
- {RESET: Code to reset REDUCE to its initial state}
- (chapter~\ref{RESET});\ttindex{RESET}
- %%
- %%This package defines a command command RESETREDUCE that works through the
- %%history of previous commands, and clears any values which have been
- %%assigned, plus any rules, arrays and the like. It also sets the various
- %%switches to their initial values. It is not complete, but does work for
- %%most things that cause a gradual loss of space. It would be relatively
- %%easy to make it interactive, so allowing for selective resetting.
- %%
- %%There is no further documentation on this package.
- %%
- %%Author: John Fitch.
- %%
- \item
- {RESIDUE: A residue package} (chapter~\ref{RESIDUE});\ttindex{RESIDUE}
- %%
- %%This package supports the calculation of residues of arbitrary
- %%expressions.
- %%
- %%Author: Wolfram Koepf.
- %%
- \item
- {RLFI: REDUCE LaTeX formula interface} (chapter~\ref{RLFI});\ttindex{RLFI}
- %%
- %%This package adds \LaTeX syntax to REDUCE. Text generated by REDUCE in
- %%this mode can be directly used in \LaTeX source documents. Various
- %%mathematical constructions are supported by the interface including
- %%subscripts, superscripts, font changing, Greek letters, divide-bars,
- %%integral and sum signs, derivatives, and so on.
- %%
- %%Author: Richard Liska.
- %%
- \item
- {RSOLVE: Rational/integer polynomial solvers} (chapter~\ref{RSOLVE});\ttindex{RSOLVE}
- %%
- %%This package provides operators that compute the exact rational zeros
- %%of a single univariate polynomial using fast modular methods. The
- %%algorithm used is that described by R. Loos (1983): Computing rational
- %%zeros of integral polynomials by $p$-adic expansion, {\it SIAM J.
- %%Computing}, {\bf 12}, 286--293.
- %%
- %%Author: Francis J. Wright.
- %%
- \item
- {ROOTS: A REDUCE root finding package} (chapter~\ref{ROOTS});\ttindex{ROOTS}
- %%
- %%This root finding package can be used to find some or all of the roots of a
- %%univariate polynomial with real or complex coefficients, to the accuracy
- %%specified by the user.
- %%
- %%It is designed so that it can be used as an independent package, or it may
- %%be called from {\tt SOLVE} if {\tt ROUNDED} is on. For example,
- %%the evaluation of
- %%\begin{verbatim}
- %% on rounded,complex;
- %% solve(x**3+x+5,x);
- %%\end{verbatim}
- %%yields the result
- %%\begin{verbatim}
- %% {X= - 1.51598,X=0.75799 + 1.65035*I,X=0.75799 - 1.65035*I}
- %%\end{verbatim}
- %%
- %%This package loads automatically.
- %%
- %%Author: Stanley L. Kameny.
- %%
- \item
- {SCOPE: REDUCE source code optimization package}
- (chapter~\ref{SCOPE});\ttindex{SCOPE}
- %%
- %%SCOPE is a package for the production of an optimized form of a set of
- %%expressions. It applies an heuristic search for common (sub)expressions
- %%to almost any set of proper REDUCE assignment statements. The
- %%output is obtained as a sequence of assignment statements. GENTRAN is
- %%used to facilitate expression output.
- %%
- %%Author: J.A. van Hulzen.
- %%
- \item
- {SETS: A basic set theory package} (chapter~\ref{SETS});\ttindex{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.
- %%
- %%Author: Francis J. Wright.
- %%
- \item
- {SPDE: A package for finding symmetry groups of {PDE}'s}
- (chapter~\ref{SPDE});\ttindex{SPDE}
- %%
- %%The package SPDE provides a set of functions which may be used to
- %%determine the symmetry group of Lie- or point-symmetries of a given system
- %%of partial differential equations. In many cases the determining system is
- %%solved completely automatically. In other cases the user has to provide
- %%additional input information for the solution algorithm to terminate.
- %%
- %%Author: Fritz Schwarz.
- %%
- \item
- {SPECFN: Package for special functions} (chapter~\ref{SPECFN});
- \ttindex{SPECFN}
- %%
- %%\index{Gamma function} \ttindex{Gamma}
- %%\index{Digamma function} \ttindex{Digamma}
- %%\index{Polygamma functions} \ttindex{Polygamma}
- %%\index{Pochhammer's symbol} \ttindex{Pochhammer}
- %%\index{Euler numbers} \ttindex{Euler}
- %%\index{Bernoulli numbers} \ttindex{Bernoulli}
- %%\index{Zeta function (Riemann's)} \ttindex{Zeta}
- %%\index{Bessel functions}\ttindex{BesselJ}\ttindex{BesselY}
- %% \ttindex{BesselK}\ttindex{BesselI}
- %%\index{Hankel functions}\ttindex{Hankel1}\ttindex{Hankel2}
- %%\index{Kummer functions}\ttindex{KummerM}\ttindex{KummerU}
- %%\index{Struve functions}\ttindex{StruveH}\ttindex{StruveL}
- %%\index{Lommel functions}\ttindex{Lommel1}\ttindex{Lommel2}
- %%\index{Polygamma functions}\ttindex{Polygamma}
- %%\index{Beta function} \ttindex{Beta}
- %%\index{Whittaker functions}\ttindex{WhittakerM}
- %% \ttindex{WhittakerW}
- %%\index{Dilogarithm function} \ttindex{Dilog}
- %%\index{Psi function} \ttindex{Psi}
- %%\index{Orthogonal polynomials}
- %%\index{Hermite polynomials} \ttindex{HermiteP}
- %%\index{Jacobi's polynomials} \ttindex{JacobiP}
- %%\index{Legendre polynomials} \ttindex{LegendreP}
- %%\index{Laguerre polynomials} \ttindex{LaguerreP}
- %%\index{Chebyshev polynomials} \ttindex{ChebyshevT}\ttindex{ChebyshevU}
- %%\index{Gegenbauer polynomials}\ttindex{GegenbauerP}
- %%\index{Euler polynomials} \ttindex{EulerP}
- %%\index{Binomial coefficients} \ttindex{Binomial}
- %%\index{Stirling numbers}\ttindex{Stirling1}\ttindex{Stirling2}
- %%
- %%This special function package is separated into two portions to make it
- %%easier to handle. The packages are called SPECFN and SPECFN2. The first
- %%one is more general in nature, whereas the second is devoted to special
- %%special functions. Documentation for the first package can be found in
- %%the file specfn.tex in the ``doc'' directory, and examples in specfn.tst
- %%and specfmor.tst in the examples directory.
- %%
- %%The package SPECFN is designed to provide algebraic and numerical
- %%manipulations of several common special functions, namely:
- %%
- %%\begin{itemize}
- %%\item Bernoulli Numbers and Euler Numbers;
- %%\item Stirling Numbers;
- %%\item Binomial Coefficients;
- %%\item Pochhammer notation;
- %%\item The Gamma function;
- %%\item The Psi function and its derivatives;
- %%\item The Riemann Zeta function;
- %%\item The Bessel functions J and Y of the first and second kind;
- %%\item The modified Bessel functions I and K;
- %%\item The Hankel functions H1 and H2;
- %%\item The Kummer hypergeometric functions M and U;
- %%\item The Beta function, and Struve, Lommel and Whittaker functions;
- %%\item The Exponential Integral, the Sine and Cosine Integrals;
- %%\item The Hyperbolic Sine and Cosine Integrals;
- %%\item The Fresnel Integrals and the Error function;
- %%\item The Dilog function;
- %%\item Hermite Polynomials;
- %%\item Jacobi Polynomials;
- %%\item Legendre Polynomials;
- %%\item Laguerre Polynomials;
- %%\item Chebyshev Polynomials;
- %%\item Gegenbauer Polynomials;
- %%\item Euler Polynomials;
- %%\item Bernoulli Polynomials.
- %%\end{itemize}
- %%
- %%Author: Chris Cannam, with contributions from Winfried Neun, Herbert
- %%Melenk, Victor Adamchik, Francis Wright and several others.
- %%
- \item
- {SPECFN2: Package for special special functions}
- (chapter~\ref{SPECFN2});\ttindex{SPECFN2}
- %%
- %%\index{Generalized Hypergeometric functions}
- %%\index{Meijer's G function}
- %%
- %%This package provides algebraic manipulations of generalized
- %%hypergeometric functions and Meijer's G function. Generalized
- %%hypergeometric functions are simplified towards special functions and
- %%Meijer's G function is simplified towards special functions or generalized
- %%hypergeometric functions.
- %%
- %%Author: Victor Adamchik, with major updates by Winfried Neun.
- %%
- \item
- {SUM: A package for series summation} (chapter~\ref{SUM});\ttindex{SUM}
- %%
- %%This package implements the Gosper algorithm for the summation of series.
- %%It defines operators {\tt SUM} and {\tt PROD}. The operator {\tt SUM}
- %%returns the indefinite or definite summation of a given expression, and
- %%{\tt PROD} returns the product of the given expression.
- %%
- %%This package loads automatically.
- %%
- %%Author: Fujio Kako.
- %%
- \item
- {SYMMETRY: Operations on symmetric matrices} (chapter~\ref{SYMMETRY});
- \ttindex{SYMMETRY}
- %%
- %%This package computes symmetry-adapted bases and block diagonal forms of
- %%matrices which have the symmetry of a group. The package is the
- %%implementation of the theory of linear representations for small finite
- %%groups such as the dihedral groups.
- %%
- %%Author: Karin Gatermann.
- %%
- \item
- {TAYLOR: Manipulation of Taylor series} (chapter~\ref{TAYLOR});\ttindex{TAYLOR}
- %%
- %%This package carries out the Taylor expansion of an expression in one or
- %%more variables and efficient manipulation of the resulting Taylor series.
- %%Capabilities include basic operations (addition, subtraction,
- %%multiplication and division) and also application of certain algebraic and
- %%transcendental functions.
- %%
- %%Author: Rainer Sch\"opf.
- %%
- \item
- {TPS: A truncated power series package} (chapter~\ref{TPS});
- \ttindex{TPS}\ttindex{PS}
- %%
- %%This package implements formal Laurent series expansions in one variable
- %%using the domain mechanism of REDUCE. This means that power series
- %%objects can be added, multiplied, differentiated etc., like other first
- %%class objects in the system. A lazy evaluation scheme is used and thus
- %%terms of the series are not evaluated until they are required for printing
- %%or for use in calculating terms in other power series. The series are
- %%extendible giving the user the impression that the full infinite series is
- %%being manipulated. The errors that can sometimes occur using series that
- %%are truncated at some fixed depth (for example when a term in the required
- %%series depends on terms of an intermediate series beyond the truncation
- %%depth) are thus avoided.
- %%
- %%Authors: Alan Barnes and Julian Padget.
- %%
- \item
- {TRI: TeX REDUCE interface} (chapter~\ref{TRI});\ttindex{TRI}
- %%
- %%This package provides facilities written in REDUCE-Lisp for typesetting
- %%REDUCE formulas using \TeX. The \TeX-REDUCE-Interface incorporates three
- %%levels of \TeX output: without line breaking, with line breaking, and
- %%with line breaking plus indentation.
- %%
- %%Author: Werner Antweiler.
- %%
- \item
- {TRIGSIMP: Simplification and factorization of trigonometric and
- hyperbolic functions} (chapter~\ref{TRIGSIMP});\ttindex{TRIGSIMP}
- %%and hyperbolic functions}\ttindex{TRIGSIMP}
- %%
- %%TRIGSIMP is a useful tool for all kinds of trigonometric and hyperbolic
- %%simplification and factorization. There are three procedures included in
- %%TRIGSIMP: trigsimp, trigfactorize and triggcd. The first is for finding
- %%simplifications of trigonometric or hyperbolic expressions with many
- %%options, the second for factorizing them and the third for finding the
- %%greatest common divisor of two trigonometric or hyperbolic polynomials.
- %%
- %%Author: Wolfram Koepf.
- %%
- \item
- {XCOLOR: Calculation of the color factor in non-abelian gauge field
- theories} (chapter~\ref{XCOLOR});\ttindex{XCOLOR}
- %%
- %%This package calculates the color factor in non-abelian gauge field
- %%theories using an algorithm due to Cvitanovich.
- %%
- %%Documentation for this package is in plain text.
- %%
- %%Author: A. Kryukov.
- %%
- \item
- {XIDEAL: Gr\"obner Bases for exterior algebra} (chapter~\ref{XIDEAL});
- \ttindex{XIDEAL}
- %%
- %%XIDEAL constructs Gr\"obner bases for solving the left ideal membership
- %%problem: Gr\"obner left ideal bases or GLIBs. For graded ideals, where each
- %%form is homogeneous in degree, the distinction between left and right
- %%ideals vanishes. Furthermore, if the generating forms are all homogeneous,
- %%then the Gr\"obner bases for the non-graded and graded ideals are
- %%identical. In this case, XIDEAL is able to save time by truncating the
- %%Gr\"obner basis at some maximum degree if desired.
- %%
- %%Author: David Hartley.
- %%
- \item
- {WU: Wu algorithm for polynomial systems} (chapter~\ref{WU});\ttindex{WU}
- %%
- %%This is a simple implementation of the Wu algorithm implemented in REDUCE
- %%working directly from ``A Zero Structure Theorem for
- %%Polynomial-Equations-Solving,'' Wu Wen-tsun, Institute of Systems Science,
- %%Academia Sinica, Beijing.
- %%
- %%Author: Russell Bradford.
- %%
- \item
- {ZEILBERG: A package for indefinite and definite summation}
- (chapter~\ref{ZEILBERG});\ttindex{ZEILBERG}
- %%
- %%This package is a careful implementation of the Gosper and Zeilberger
- %%algorithms for indefinite and definite summation of hypergeometric terms,
- %%respectively. Extensions of these algorithms are also included that are
- %%valid for ratios of products of powers, factorials, $\Gamma$ function
- %%terms, binomial coefficients, and shifted factorials that are
- %%rational-linear in their arguments.
- %%
- %%Authors: Gregor St\"olting and Wolfram Koepf.
- %%
- \item
- {ZTRANS: $Z$-transform package} (chapter~\ref{ZTRANS});\ttindex{ZTRANS}
- %%
- %%This package is an implementation of the $Z$-transform of a sequence.
- %%This is the discrete analogue of the Laplace Transform.
- %%
- %%Authors: Wolfram Koepf and Lisa Temme.
- \end{itemize}
|