Improved Numerics in Maple V Release 5

Many improvements to the numeric capabilities of Maple have been made in Release 5. A brief description of these improvements follows.


Matlab link



Matlab is a computer software package for performing numerical computations.


Matlab Link is a new facility in Maple V Release 5 that allows you to perform numerical computations using MATLAB®, especially those involving matrices within a Maple session.

•

Facilities exist for working either in a Maplelike or a MATLAB®like manner.

•

To use the Matlab Link facility, you must have a licensed copy of MATLAB®.



Hardware Float Arrays


•

IEEE specialvalues support has been added to evalhf. This means that NaN (Not a Number) is handled properly within evalhf, and is translate to undefined on output to the rest of Maple. Considerable effort has been made to make all floating point operations within evalhf comply with the IEEE854 standard.

•

Within evalhf, expressions which evaluate to NULL become the value undefined. In particular, NULL, RETURN() and RETURN( NULL ) all return undefined within evalhf.



Improvements to the Floating Point Solver, fsolve


•

The floating point solver, fsolve has been completely rewritten. Very few changes, however, are visible to users. In particular, the polynomial and system solvers should now be much stronger.

•

There is a new avoid option.

•

Now you can specify an initial guess:

>

fsolve( sin( x ), x = 3.1 );

•

The fsolve command now recognizes bound variables:

>

fsolve( Int( sin( x ), x = 0 .. y ), y );

>

fsolve( Int( sin( x ), x = 0 .. y ), y, avoid = { y = 0 } );



Improvements to the Hardware Float Evaluator, evalhf


•

The hardware floating point evaluator evalhf now understands the following operators and procedures:


`+`, `*`, `^`, `**`, `&*`,


product, Product, ceil, Dirac,


floor, frac, Heaviside, piecewise,


round, signum, trunc, surd,

•

evalhf can now return arrays of hardware float. This can significantly speed up computations since the (large) overhead of converting to and from software floats can be avoided.



Numerical Integration


•

Complex limits are now supported in numerical integration.

>

evalf( Int( sin( z ), z = 0 .. I ) );

${\mathrm{0.5430806348}}$
 (4) 
•

Many internal improvements exist. Numerical integration is faster and more robust.



Special Functions


•

An inert version, Hypergeom of hypergeom has been added.


erfi  The imaginary error function


KummerM, KummerU  The Kummer functions $\mathrm{KummerM}\left(\mathrm{\mu}\,\mathrm{\nu}\,z\right)$ and $\mathrm{KummerU}\left(\mathrm{\mu}\,\mathrm{\nu}\,z\right)$


LommelS1, LommelS2  The Lommel functions $\mathrm{LommelS1}\left(\mathrm{\mu}\,\mathrm{\nu}\,z\right)$ and $\mathrm{LommelS2}\left(\mathrm{\mu}\,\mathrm{\nu}\,z\right)$


WhittakerM, WhittakerW  The Whittaker functions $\mathrm{WhittakerM}\left(\mathrm{\mu}\,\mathrm{\nu}\,z\right)$ and $\mathrm{WhittakerM}\left(\mathrm{\mu}\,\mathrm{\nu}\,z\right)$


MeijerG  A modified Meijer G function.

•

An essential reference for all the listed functions is: M. Abramowitz and I. Stegun, Handbook of Mathematical Functions, chapter 13.



Arbitrary Precision Complex Evaluation



Arbitrary precision evaluation over the complex plane of:

•

associated Legendre functions of the first and second kind: LegendreP, LegendreQ

•

confluent hypergeometric functions:


Kummer functions: KummerM, KummerU


Lommel Functions: LommelS1, LommelS2


Whittaker functions: WhittakerM, WhittakerW

•

MeijerG  valid in some regions of parameters


