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 Maple-like or a MATLAB®-like manner.
|
•
|
To use the Matlab Link facility, you must have a licensed copy of MATLAB®.
|
|
|
Hardware Float Arrays
|
|
•
|
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 );
|
•
|
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 ) );
|
•
|
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 and
|
|
LommelS1, LommelS2 - The Lommel functions and
|
|
WhittakerM, WhittakerW - The Whittaker functions and
|
|
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
|
|
|