The integration commands from the VectorCalculus and MultivariateCalculus packages (and the corresponding Student subpackages) now use the collapsed rather than the nested form for multiple integration. This allows the outer integration steps to use and benefit directly from the knowledge of the ranges of the inner integration steps.
This allows computation to complete more quickly for some examples, and to succeed in some examples which previously did not succeed or which required special assumptions to be made.
The following example now computes in under one second, on a machine where previously it took 100 seconds unless executed under the assumption that abs(y)<z .
The following example now computes in approximately one second, whereas previously it used a prohibitively large amount of time and memory resources.
The following examples erroneously returned 0 in Maple2019.
The following example now computes in a few seconds, but did not complete in Maple 2019.
The underlying structure of the returned inert form illustrates the change in behavior.
Int(r^2*sin(phi)/(4*r*sin(phi)*cos(theta)+r^2+4),[theta = 0 .. 2*Pi, phi = 0 ..
Pi, r = 0 .. 1])
| |
Previously the inert form would consist of multiple, nested calls to Int.
Int(Int(Int(r^2*sin(phi)/(4*r*sin(phi)*cos(theta)+r^2+4),theta = 0 .. 2*Pi),phi= 0 .. Pi),r = 0 .. 1)
| |