... Announcement of MuPAD version 1.3
Dear MuPAD friend,
here is a message from the developers of MuPAD to inform you about the latest
release 1.3.
MuPAD 1.3 is a major release update with regard to the mathematical capabilities
and the documentation of MuPAD 1.2.2, but a minor release update with regard
to the kernel and the frontends of MuPAD 1.2.2.
Overview/Contents
- Version for Windows 95
- Documentation Issues
- Programming Language Improvements
- New Mathematical Functions
- New Packages
- Graphics Tools
- Debugger
- Dynamic Modules Improvements
- New Platforms supported
- Comparisons & Reviews
- MuPAD Technical Reports
- Ftp Support
- WWW Support
NOTE: This document covers all changes implemented since
the last "official" version, namely 1.2.2.
(1) Version for Windows 95
MuPAD 1.3 includes a version for Microsoft Windows 95. Features unique to
the Windows version are:
- Notebook
functionality including RTF character formatting (compatible with Microsoft
Word)
- alpha version of the MuPAD graphics tool VCAM
- OLE 2 support: Notebooks may include arbitrary OLE objects, e.g. Excel
charts, Netscape documents, pictures, bitmaps, movies, etc.
- Support for Drag & Drop
MuPAD for Windows 95 includes the MuPAD
online hypertext documentation.
We're working on improvements of the user interface so at the moment
only release 1.2.9a is available for Windows 95.
NOTE: The Windows 3.11 version is not supported any longer.
System Requirements:
Intel 486 or Pentium processor, 8 MB RAM,
10 MB free harddisk space, Windows 95
Recommended Configuration:
Pentium/100 or better, 16 MB RAM
[Return To Overview]
(2) Documentation
(2.1) MuPAD User's Manual
The MuPAD
User's Manual by Benno Fuchssteiner et al., published by Wiley Ltd.
(ISBN 0-471-96716-5) or in german speaking countries by Teubner Verlag (ISBN
3-519-02114-5).
The MuPAD User's Manual provides a detailed survey of the system's capabilities
and contains:
- A complete description of the MuPAD programming language
- Guidelines on how to produce graphics with MuPAD
- A survey of the functions of the MuPAD standard library
NOTE: MuPAD version 1.3 is backward compatible with version
1.2.2 which is described in the Manual.
The accompanying CD-ROM includes the full MuPAD 1.2.2 system for
- PC (Linux)
- Macintosh (M68k and PowerPC)
- Hewlett-Packard
- DECstation
- Sun SPARC (SunOS 4.1.x and Solaris)
- Silicon Graphics
and further informations (examples, animations, mathPAD journal, test suites,
and more ...)
(2.2) Online Documentation
Comprehensive online documentation in English is included in the MuPAD
distribution:
MuPAD Reference Manual, Help Pages, Advanced Demonstrations, Library Organisation,
Lindenmayer Systems, Network, Number Theory, Plotting, Orthogonal Polynomials,
Linear Algebra, Groebner Bases, Combinatorics, Statistics, Type Checking,
Constructors of the domains Package, Axioms-Categories-Domains, Functional
Programming, Generating export output formats, Utilities for I/O operations,
Linear optimization, Miscellanious utilities, Sharelib (utilities written
by MuPAD users), String manipulation, Writing library packages for MuPAD.
[Return To Overview]
(3) Programming Language Improvements
(3.1) Lazy evaluation in boolean context
In a boolean context (if, while, until) the evaluation of expressions involving
the logical operators now uses the McCarthy evaluation rules. Namely, the
left operand of the operators AND
and OR
is always
evaluated first. The evaluation of the right operand is avoided, if the
truth value of the whole boolean expression can be deduced from the value
of the left operand alone. For example, the construct
>> if d<>0 and f(d)/d > 1 then ... end_if
will not cause a division by zero, because if d=0, the left operand of AND
becomes false and the right operand of AND will not be evaluated.
(3.2) User-definable operators
To avoid the & symbol in front of the name of user-defined associative
operator, you can now simply type the name. Example:
>> bin_op(nand): nand:=func( not (x and y), x, y):
>> a nand b;
Furthermore it is also allowed to use nearly any symbol (including non-alphanumerical
ones) for user-defined operators, for example:
>> bin_op("**", hold(_power)
):
>> 2 ** 3;
(3.3) New system operators
Shortcuts for the differential operator and the factorial function:
>> sin'(x) , f''(x) , cos' ;
cos(x), D(D(f))(x), -sin
>> 5! , a! , 3!! ;
120, fact(a), 720
[Return To Overview]
(4) New Mathematical Functions
NOTE: The main packages are now automatically loaded on demand.loadlib is
not needed for the following packages: combinat, domains, faclib, fp, gcdlib,
generate, groebner, linalg, Lsys, module, Network, numeric, numlib, ode,
orthpoly, plotlib, rec, RGB, Series, sharelib, stats, student and Type.
(4.1) Standard Library
algsolve, assume, changevar, discont, hastype, ilaplace, laplace,
mellin, pref, property, revert, rewrite, unassume
(4.2) Linear Algebra (linalg)
hermiteForm, sumBasis, initBasis, basis
(4.3) Domains (domains)
Dom::DiscreteSet, Dom::DihedralGroup, Dom::GaloisField, Dom::IntervalSet,
Dom::Mat, Dom::Multiset, Dom::Pade, Dom::PermutationGroup, Dom::MatrixGroup,
Dom::Real, Dom:: Complex,
Cat::VectorSpace,
Ax::effectiveOperation
Improvements for Dom::Matrix:
zip
for matrices, index operator allows to extract submatrices,
functions op
, subsop
, expr2text
,
nops
overloaded, concatenation of matrices via dot operator,
improved Gaussian elimination
(4.4) Number Theory (numlib)
numlib::ispower
(4.5) Statistics (stats)
stats::Tdist, stats::meanTest
(4.6) Miscellaneous (misc)
misc::freeze, misc::tcov, misc::checkFunction, misc::tableForm
(4.7) Shared library (sharelib)
sharelib::animate, sharelib::rational, sharelib::trace, sharelib::untrace
(4.8) Plot Package (plotlib)
polygonplot
(4.9) Algorithms for networks (network)
AdmissibleFlow, ResidualNetwork
.
(4.10) Type checking (Type)
Independent, Relation, Series([Taylor, Laurent, Puiseux]), TableOfEntry,
TableOfIndex
(4.11) Ordinary differential equations (ode)
The new types of equations that MuPAD 1.3 can recognize and solve with respect
to 1.2.2 are:
- Bernoulli equations
- Clairaut equations
- equidimensional-in-x equations
- equidimensional-in-y equations
- exact equations
- homogeneous equations
- Lagrange equations
- Riccati and matrix Riccati equations
- scale invariant equations
- equations solvable for x or for y
- equations with y(x) missing
- equations solvable by integrable combinations
- equations solvable by contact transformation
- equations solvable by the differentiation method
- equations solvable by factorization of the diff. operator
- equations solvable by interchange of variables
- equations admitting an integrating factor
- exponential solutions of linear diff. equations
See ?ode for more details.
(4.12) Numerical integration
Numerical integration is invoked by applying the float()
function
to the unevaluated integral as in:
>> float( hold(int)(f(x),x=a..b) );
The routine accepts the values infinity
or -infinity
for a
and/or b
,and it attempts to handle endpoint
singularities in the integrand. To avoid symbolic analysis use 'intlib::float
'
instead of 'float
'. Note, that in this case only finite intervals
can be handled and no endpoint singularities and no discontinuity in the
interior of the interval of integration must exist. intlib::float
is able to handle multiple integrals and MuPAD procedures as integrands.
[Return To Overview]
(5) New Packages
(5.1) Assume facility (assume)
This package is in an experimental stage. Simplification and also the integration
make use of assumptions, for example
ln(exp(x))
remains unevaluated, whereas
assume(x, Type::RealNum): ln(exp(x));
yields x.
(5.2) Code generation (generate)
C, fortran, TeX
(5.3) Functional programming (fp)
apply, curry, fixargs, fixedpt, fold, nest, nestvals
(5.4) Transformations (transform)
fourier, ifourier, laplace, ilaplace, mellin
(5.5) Numerical algorithms (numeric)
complex_round, fsolve, maclaurin, newton, lagrange, bairstow
(5.6) Student calculus (student)
Kn, equateMatrix, gaussElim, genExample, isFree
(5.7) Linear and integer optimization/programming (linopt)
minimize, maximize, feasible, findMinimum, setup
(5.8) String manipulation (string)
Improved string handling (comparison of strings using the relational operators
and direct access of characters using the index operator), fast pattern
matching in strings, reading raw data files.
subs, subsop, format, delete, contains, pos
(5.9) I/O operations (io)
readdata, readlisp
[Return To Overview]
(6) Graphics
The options PointWidth
, PointStyle
, LineWidth
,
LineStyle
now are available as scene options and as object
options.
The number given by the use of the option 'Ticks = n
' now is
used to determine a reasonable distance between two succeeding tick marks.
Therefore it is possible, that more ticks are drawn than specified by 'n
'.
You will find a lot of examples in share/examples/graphics:
color plots, contour plots, fractals, minimal surfaces, solitons.
[Return To Overview]
(7) Debugger
The commands Up
and Down
now carry out a context
switch, so that printing variables gives the correct value. The command
Where
prints the actual parameters of every function call on
the procedure stack.
[Return To Overview]
(8) Extended support of dynamic modules
Additional packages can now be integrated into MuPAD:
- Magnum Factorization (fast polynomial factorization)
- NAGC Numerics Library (fast numerical algorithms)
Dynamic modules are supported on all UNIX platforms. Support for Windows
and Macintosh is under developement and will be added with the next
major release.
For further information please refer to: http://math-www.uni-paderborn.de/MuPAD/PAPERS/MODULES/
[Return To Overview]
(9) New platforms supported
[Return To Overview]
(10) Comparisons/Reviews
Paul Zimmermann, a researcher from INRIA, has written a paper "Wester's
Test Suite in MuPAD 1.3" based on Michael Wester's paper "A
Review of CAS mathematical Capabilities". He describes the mathematical
problems that can be solved with MuPAD 1.3, whereas the original paper describes
the capabilities of Axiom, Derive, Macsyma, Maple, Mathematica and Reduce
to solve these problems.
- Paul Zimmermann: Wester's test suite in MuPAD 1.3, 1996.
Can be found on http://math-www.uni-paderborn.de/MuPAD/R130/WESTER
- Michael Wester: A Review of CAS Mathematical Capabilities,
1994. Can be found on ftp://math.unm.edu/pub/cas/
- A review of the ODE solvers of Axiom, Derive, Maple, Mathematica,
Macsyma, MuPAD and Reduce by Frank Postel and Paul Zimmermann.
Proceedings of the 5th RHINE WORKSHOP ON COMPUTER ALGEBRA, April 1-3,
1996, Saint-Louis, France. This paper compares the capabilities of the
ODE solvers of several computer algebra systems on a set of more than
50 ODEs and systems. Can be found at
http://www.loria.fr/~zimmerma/ComputerAlgebra
- Frank Postel: c't magazine test suite with MuPAD 1.3,
1996. Can be found on http://math-www.uni-paderborn.de/MuPAD/R130/CT-TEST
- Stefan Braun, Harald Haeuser: Das Ende des Bleistifts,
c't, issue 7, July 1995.
[Return To Overview]
(11) MuPAD Technical Reports
- Dynamische Module -- Eine Verwaltung fuer Maschinencode-Objekte
zur Steigerung der Effizienz und Flexibilitaet von Computeralgebra-Systemen,
Andreas Sorgatz, MuPAD Reports, Herausg. Benno Fuchssteiner, Okt. 1996,
B.G. Teubner, Stuttgart, ISBN 3-519-02195-1 (in German)
("Dynamic Modules - A managment concept for machine-code objects to
increased efficiency and flexibility of computer-algebra-systems")
- Entwicklung einer Programmierumgebung fuer die Parallelverarbeitung
in der Computer-Algebra, Oliver Kluge, MuPAD Reports, Herausg. Benno
Fuchssteiner, Dez. 1996, B.G. Teubner, Stuttgart, ISBN 3-519-02196-X (in
German)
("Developement of a programming environment for parallel processing
in computer-algebra")
- Ein denotationales Modell fuer parallele objektbasierte Systeme,
Holger Naundorf, MuPAD Reports, Herausg. Benno Fuchssteiner, Dez. 1996,
B.G. Teubner, Stuttgart, ISBN 3-519-02197-8 (in German)
("A denotational model for parallel object-based systems")
[Return To Overview]
(12) Ftp Support
MuPAD is available (mirrored) at the following official MuPAD ftp sites:
- Argentinia
- Canada
- Deutschland
- France
- Japan
- South Africa
- Switzerland
- UK
- USA
Additional ftp server for Linux-MuPAD ftp://ftp.sunsite.unc.edu/pub/Linux/apps/math/MuPAD
with official mirrors in Asia (Thailand, Hong Kong, Japan), Australia, Europe
(Austria, Czech Republic, France, Germany, Hungary, Italy, Switzerland,
Turkey, United Kingdom), North America (USA) and South America (Chile).
For latest information refer via WWW to http://math-www.uni-paderborn.de/MuPAD/ftp.html
Special thanks to Paul Zimmermann (INRIA), Christian Hettler (ASK), Nelson
Beebe and Pieter Bowman (University of Utah) and James Davenport (University
of Bath).
For a better support outside Europe we are looking for further official
MuPAD sites. Especially in South America, Australia, Asia, ... . Also a
site in Russia would be welcome. If you're interested in mirroring MuPAD
on your site please send an e-mail to MuPAD-webmaster@uni-paderborn.de
[Return To Overview]
(13) WWW Resources
For latest information and demos refer via WWW to http://math-www.uni-paderborn.de/MuPAD/
[Return To Overview]
Author: MuPAD-webmaster
Last update: 12. Dec. 1996