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 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 Maple-like or a MATLAB®-like manner.
 • To use the Matlab Link facility, you must have a licensed copy of MATLAB®.
 • See the Matlab example worksheets available that illustrate the use of MATLAB® within Maple. Information can also be found in the highlights document.

Hardware Float Arrays

 • Support for arrays of hardware floats has been added to Release 5; see the help topic hfarray, and the highlights document.
 • IEEE special-values 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 IEEE-854 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 );
 ${3.141592654}$ (1)
 • The fsolve command now recognizes bound variables:
 > fsolve( Int( sin( x ), x = 0 .. y ), y );
 ${0.}$ (2)
 > fsolve( Int( sin( x ), x = 0 .. y ), y, avoid = { y = 0 } );
 ${12.56637061}$ (3)

Improvements to the Hardware Float Evaluator, evalhf

 • The hardware floating point evaluator evalhf now understands the following operators and procedures:
 +, *, ^, **, &*,
 &^, add, sum, Sum,
 log, log10, mul, erfc,
 product, Product, ceil, Dirac,
 floor, frac, Heaviside, piecewise,
 round, signum, trunc, surd,
 userinfo,binomial,csgn
 • 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 ) );
 ${-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.
 • Other new functions:
 LegendreP, LegendreQ - The Legendre functions of the first and second kinds
 erfi - The imaginary error function
 LerchPhi - General Lerch Phi 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:
 • Legendre functions
 • associated Legendre functions of the first and second kind: LegendreP, LegendreQ
 • erfi
 • Lerch's Phi
 • confluent hypergeometric functions:
 Kummer functions: KummerM, KummerU
 Lommel Functions: LommelS1, LommelS2
 Whittaker functions: WhittakerM, WhittakerW
 • MeijerG - valid in some regions of parameters