No Title
Next: About this document ...
Version 3.5 of REDUCE is now available for distribution.
This is the first major update since the release of REDUCE 3.4.1 in
July 1992. As is usual for a new release, a large number of bugs and
awkward features reported by users have been corrected. Just about all
the code in the system has been revised in one way or another in response
to these reports and to general coding improvements. Taken together with
the many new features that have been added, REDUCE 3.5 represents a
significant enhancement over previous versions.
In addition to the capabilities of REDUCE 3.4.1, this new
version has, among other improvements:
- Vastly Improved Arithmetic Support.
Most of the code for floating point arithmetic has been completely rewritten,
so that it is now far more rugged and also considerably faster.
We have examples of code running from three to ten times faster than the
previous version, especially for higher precision calculations. In
addition, there is increased support for elementary function
evaluation, plus support for a large number of special functions. A
list of those special functions supported is given later.
- Improved Root Finding. Along with the increased efficiency
possible with the improved arithmetic, the root finding package has been
extended to handle much harder cases than were possible previously.
For example, the close roots of the following polynomial could not be
successfully separated with the previous version:
((10^12x^2-sqrt 2)^2+x^7)*((10^12x^2+sqrt 2)^2+x^7)
- Simplification Extensions.
A large number of improvements in expression simplification appear with
this release. These include:
- Support for combining non-integer exponents. REDUCE, like most
general purpose algebraic computation systems, is poor at surd
simplification. However, the new version includes a switch combineexpt, that, when on, attempts to combine exponentials whenever
possible. For example, with combineexpt on:
3^(1/2)*3^(1/3)*3^(1/6); -> 1.
- Simplification of nested square roots. In the new system, the
following sort of reduction occurs automatically:
sqrt( 2*sqrt(5) + 6); -> sqrt(5) + 1.
- Improved simplification of absolute value expressions. For example,
we now have
abs(e-pi) -> - e + pi.
- Improved support for the simplification of expressions involving
elementary functions. Most of this support has been provided by rule lists.
As a result, users can use the showrules operator, which has been
integrated into the core REDUCE, to view such operator properties. For
example, rules you will see with the command showrules atan include:
sqrt(3) + 1 5*pi
atan(-------------) => ------,
sqrt(3) - 1 12
~x*i ~x
atan(------) => i*atanh(----) when impart(~y)=0,
~y ~y
2
1 - ~x sign(~x)
atan(~x) => acos(---------)*----------
2 2
1 + ~x
This example also illustrates the use of a new operator sign.
- Vastly improved solve code. Many more cases can now
be handled by solve, including a wider variety of non-linear equations,
and classes of transcendental equations, e.g.,
sqrt(3) - 1
solve(2*asin(x) + asin(2*x) - pi/2,x); -> {x=-------------}
2
- Improved integration. The standard indefinite integrator
now handles integrands with rational powers of the dependent
variable, and can handle a larger number of square roots in the
integrand. In particular, it can recognize some integrals involving
arcsine functions.
- Improved determination of limits. Many more limits involving
algebraic and transcendental functions can now be calculated, e.g.,
limit((sqrt(x^(2/5) +1) - x^(1/3)-1)/x^(1/3),x,0); -> -1
limit(log(x+1)^2/sqrt x,x,infinity); -> 0
- Support for many special functions. These include
Bernoulli numbers,
Euler numbers,
Stirling numbers,
binomial coefficients,
Pochhammer notation,
the gamma function,
the psi function and its derivatives,
the Riemann zeta function,
the Bessel functions J and Y of the first and second kind,
the modified Bessel functions I and K,
the Hankel functions H1 and H2,
the Kummer hypergeometric functions M and U,
the beta function,
Struve, Lommel and Whittaker functions,
the exponential integral, the sine and cosine integrals,
the hyperbolic sine and cosine integrals,
the Fresnel integrals,
the error function,
the dilog function,
Hermite polynomials,
Jacobi polynomials,
Legendre polynomials,
Laguerre polynomials,
Chebyshev polynomials,
Gegenbauer polynomials,
Euler polynomials,
Bernoulli polynomials,
generalized hypergeometric functions and
Meijer's G function.
Both numerical and algebraic properties of these functions are supported.
- New packages.
All the major packages in the REDUCE network library have been included in
this release, including some that were not part of REDUCE 3.4.1, namely:
- Improved integration with other utilities. In selected versions
of REDUCE 3.5, the following are also provided:
- Improved support for the GNUPLOT package
- On-line help information
- Support for Rlisp '88. This is a superset of the traditional
Rlisp used to support REDUCE, fully documented in Marti, Jed B.,
``RLISP '88: An Evolutionary Approach to Program Design and Reuse'',
World Scientific, Singapore, 1993.
Updated documentation includes an improved and expanded User's Manual in
format, and a bibliography listing over 750 references to
REDUCE-related publications.
A complete information package is obtainable from:
REDUCE Secretary
RAND
1700 Main Street
P.O. Box 2138
Santa Monica CA 90407-2138 U.S.A.
Telephone: +1-310-393-0411 Ext. 7681
Facsimile: +1-310-393-4818
Electronic Mail: reduce@rand.org
If you have e-mail access to the Internet, you can also obtain current
information by sending the message send info-package to
reduce-netlib@rand.org, reduce-netlib@can.nl, redlib@elib.zib-berlin.de or
reduce-netlib@pi.cc.u-tokyo.ac.jp. The single line message can either be
the subject of the message or the body. This message is answered by an
automated server for the REDUCE network library. The library will
in time contain any packages made available since the release of REDUCE
3.5 and patches to correct any bugs that may be discovered. Further
information on this library, as well as instructions on how to join the
REDUCE electronic forum, can be obtained by including the word help
on a separate line in the message.
You can also obtain the available information from an Internet gopher
server with the address ``is.rand.org''. The network library files are in
a ``REDUCE Library'' directory under the directory ``Publicly Available
Software''.
Next: About this document ...
Strotmann@RRz.Uni-Koeln.DE
see also: REDUCE Home Page
Copyright (c) 1994, RAND. All Rights Reserved.