Numerics Updates in Maple 8

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 $\mathrm{evalf}$ command on the multiple integration problem. The only solution method was to invoke, recursively, onedimensional 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 floatingpoint 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 onedimensional integrals, for example,


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





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, ..., xn=an..bn])








Additional optional arguments can be stated just as in the case of 1D integration. Also as in 1D 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, ..., an..bn].


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 onedimensional integration method $\mathrm{\_Gquad}$. This is an adaptive, variableorder implementation of Gaussian quadrature which is invoked in either hardware floating point mode or in Maple arbitraryprecision software floating point mode.


In the Maple automated solution strategy for numerical integration problems, $\mathrm{\_Gquad}$ replaces the fixedorder method $\mathrm{\_NCrule}$ which was not suitable for high precisions.




Miscellaneous



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.


