Numerics - Maple Help

Online Help

All Products    Maple    MapleSim

Numerics Updates in Maple 8


Partial Differential Equations

Ordinary Differential Equations

Numerical Integration (Quadrature)


Partial Differential Equations


Maple 8 can compute numerical solutions of linear PDE systems over rectangular domains. For more information, see Maple 8 Numeric PDE updates.

Ordinary Differential Equations


Maple 8 includes significant enhancements to the efficiency for numerical solutions of ODE systems, and a number of new capabilities. For more information, see Maple 8 Numeric ODE updates.

Numerical Integration (Quadrature)


The most significant improvement in numerical integration capabilities for Maple 8 is the addition of numerical methods for multiple integration.


In previous releases, you could form a multiple integral using nested Int expressions, and then invoke the evalf command on the multiple integration problem. The only solution method was to invoke, recursively, one-dimensional numerical integration methods. This was an inefficient approach to numerical multiple integration problems which would succeed only on the simplest problems.


In Maple 8, compiled C routines, which implement numerical multiple integration methods, are automatically invoked for such problems whenever the desired precision is in hardware floating-point range (typically about 15 decimal digits).

Special (List) Syntax for Multiple Integrals


A numerical multiple integration problem can be specified in a natural way using nested one-dimensional integrals, for example,


evalf( Int(...(Int(Int(f, x1=a1..b1), x2=a2..b2), ...), )



where the integrand f depends on x1, x2, ..., xn. Such a problem can also be specified using the following special multiple integration notation with a list as the second argument.


evalf( Int(f, [x1=a1..b1, x2=a2..b2, ...,])






Additional optional arguments can be stated just as in the case of 1-D integration. Also as in 1-D integration, the integrand f can be specified as a procedure in which case the second argument must be a list of ranges: [a1..b1, a2..b2, ...,].


Whether a multiple integration problem is stated using nested integrals or using the list notation, the arguments are extracted so as to invoke the same numerical multiple integration routines.


See evalf/int for further details and for examples.

Gaussian Quadrature Method


Another significant improvement in numerical integration capabilities in Maple 8 is the addition of a new one-dimensional integration method _Gquad. This is an adaptive, variable-order implementation of Gaussian quadrature which is invoked in either hardware floating point mode or in Maple arbitrary-precision software floating point mode.


In the Maple automated solution strategy for numerical integration problems, _Gquad replaces the fixed-order method _NCrule which was not suitable for high precisions.


See evalf/int for details.



Maple 8 has code for computing values of the higher dimensional RiemannTheta function. This function is a generalization of the JacobiTheta functions to higher genus. The input of the RiemannTheta function consists of a Riemann matrix and a vector. Derivatives of the RiemannTheta function can be evaluated as well.


Additionally, Siegel's algorithm has been implemented to simplify Riemann Matrices.