Numerics Updates in Maple 8
Partial Differential EquationsOrdinary Differential EquationsNumerical Integration (Quadrature)Miscellaneous
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk0">Partial Differential Equations</Text-field>
Maple 8 can compute numerical solutions of linear PDE systems over rectangular domains. For more information, see Maple 8 Numeric PDE updates.
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk1">Ordinary Differential Equations</Text-field>
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.
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk2">Numerical Integration (Quadrature)</Text-field>
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 NiNJJmV2YWxmR0kqcHJvdGVjdGVkR0Yk 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).
<Text-field style="Heading 3" layout="Heading 3" bookmark="bkmrk3">Special (List) Syntax for Multiple Integrals</Text-field>
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), ...), 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 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, ..., 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.
<Text-field style="Heading 3" layout="Heading 3" bookmark="bkmrk4">Gaussian Quadrature Method</Text-field>
Another significant improvement in numerical integration capabilities in Maple 8 is the addition of a new one-dimensional integration method NiNJJ19HcXVhZEc2Ig==. 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, NiNJJ19HcXVhZEc2Ig== replaces the fixed-order method NiNJKF9OQ3J1bGVHNiI= which was not suitable for high precisions.
See evalf/int for details.
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk5">Miscellaneous</Text-field>
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.