... Announcement of MuPAD version 1.3


Dear MuPAD friend,

MuPAD 1.3 is a major release update with regard to the mathematical capabilities of MuPAD 1.2.2, but a minor release update with regard to the kernel and the frontends of MuPAD 1.2.2. The Manual 1.2.2 is still relevant. Also refer to About 1.3.

Overview/Contents

  1. Version for Windows 95
  2. Documentation Issues
  3. Programming Language Improvements
  4. New Mathematical Functions
  5. New Packages
  6. Graphics Tools
  7. Debugger
  8. Dynamic Modules Improvements
  9. New Platforms supported
  10. Comparisons & Reviews
  11. MuPAD Technical Reports
  12. Ftp Support
  13. 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: 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: 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 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: 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: 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.
[Return To Overview]


(11) MuPAD Technical Reports


[Return To Overview]


(12) Ftp Support

MuPAD is available (mirrored) at the following official MuPAD ftp sites: 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: 13. Dec. 1996