updates/R5/numerics - Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : updates/R5/numerics

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

Hardware Float Arrays

Improvements to the Floating Point Solver, fsolve

Improvements to the Hardware Float Evaluator, evalhf

Numerical Integration

Special Functions

Arbitrary Precision Complex Evaluation

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®.

• 

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

  

see evalhf[fcnlist]

• 

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 KummerMμ,ν,z and KummerUμ,ν,z

  

LommelS1, LommelS2 - The Lommel functions LommelS1μ,ν,z and LommelS2μ,ν,z

  

WhittakerM, WhittakerW - The Whittaker functions WhittakerMμ,ν,z and WhittakerMμ,ν,z

  

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