Enhanced Packages in Maple 12 - Maple Programming Help

Enhanced Packages in Maple 12

 For information on new Maple 12 packages, see New Packages in Maple 12.
 This help page describes the following enhanced packages.

ArrayTools

 The ArrayTools package has been extended by several commands for efficient Array manipulation.  New commands include: BlockCopy, Diagonal, Dimensions, IsEqual, LowerTriangle, NumElems, RandomArray, RegularArray, SearchArray, Size, and UpperTriangle.

CurveFitting

 The ArrayInterpolation command for n-dimensional data interpolation has been added to the CurveFitting package. Unlike other CurveFitting commands that return interpolants, the goal of ArrayInterpolation is to provide quick and efficient data resampling and table lookup.

DEtools

 Two new commands, rational_equivalent and ODEInvariants, have been added to the DEtools package. The rational_equivalent command receives a third order linear ODE or a first order Abel or Riccati equation and returns an equivalent equation, of the same type, with invariants with minimal degrees, obtained using rational transformations of the independent variable combined with transformations of the dependent variable that do not change the type of the equation. The ODEInvariants command returns the so-called Wilcynski (relative) Invariants for linear ODEs as well as (relative) invariants for nonlinear ODEs obtained using an innovative derivation of the Wilcynski invariants.

DifferentialGeometry

 In the Tensor subpackage, the CurvatureTensor command has been changed to conform with the most common conventions in the differential geometry and general relativity literature. The SectionalCurvature command has been added and the HodgeStar command has been rewritten for greater efficiency. The LieAlgebraCohomology command in the LieAlgebra package now supports calculations of Lie algebra cohomology with coefficients in a representation.

DiscreteTransforms

 The DiscreteTransforms package now has numerical wavelet transforms. This includes the ability to obtain the coefficients for many well-known classes of Wavelets for varying filter lengths, including Daubechies and Bi-Orthogonal Spline wavelets, and the application of these wavelets on discrete data. For more information, see DiscreteTransforms.
 A tool for visualization of wavelets has also been provided as DiscreteTransforms[WaveletPlot].

LinearAlgebra

 The LinearAlgebra package contains a new command KroneckerProduct for computing the Kronecker tensor product of two Matrices.

Matlab

 The Matlab package contains new commands, FromMatlab and FromMFile, that aid in converting MATLAB® code to Maple.  Programs written in MATLAB® can now be translated directly to Maple syntax. In addition to basic operations, Matrix indexing and Matrix construction, over 100 MATLAB® commands automatically map to equivalent implementation in Maple.

numtheory

 The numtheory package contains a new command, iscyclotomic, which tests whether a polynomial is cyclotomic. If the polynomial is cyclotomic, the command can return the order of the polynomial.

PDEtools

 Six new commands were added to PDEtools; Euler representing Euler's operator, ConservedCurrents to compute conserved currents (also called conservation laws), IntegratingFactors to compute related generalized integrating factors, ConservedCurrentTest and IntegratingFactorTest for testing whether given expressions are conserved currents or integrating factors, and Laplace for exploiting Laplace invariants for solving some classes of 2nd order linear PDEs in two independent variables.

Physics

 The FeynmanDiagrams command now computes the tree level diagrams corresponding to the given interaction Lagrangian.
 The ChangeBasis command of the Vectors subpackage of Physics, which formerly would only change the projection basis from a vector, now optionally changes also the coordinates used in its components to the natural coordinates of the indicated new basis.
 Two new conversion routines, for converting vectors from the format of one of the Physics[Vectors] and VectorCalculus packages to the format of the other package, were implemented.

RootFinding

 The new subpackage RootFinding[Parametric] for analyzing and solving systems of polynomial equations and inequalities depending on parameters has been added to the RootFinding package. It offers the ability to answer questions such as the following: for which parameter values does the system have a solution, or a given number of solutions? For examples and details, see the RootFinding[Parametric] help page.

Statistics

 The Statistics package has been expanded to include a wider variety of plotting functions as well as a new function for data manipulation.  The ScatterPlot function has enhanced functionality, enabling you to plot one-dimensional data and with the jitter option visualize the data easily.  The SymmetryPlot function creates a visual representation of the symmetry, or lack thereof, of a one-dimensional data set about its median.  The AgglomeratedPlot and SunflowerPlot functions create plots that simplify viewing large quantities of data in one, two and three dimensions.  Similarly, the Excise function removes data in large data sets based on the density of point clustering.

Student[VectorCalculus]

 The main VectorCalculus package underwent a major overhaul for Maple 11. The migration of these updates to the Student[VectorCalculus] package has been completed for Maple 12.
 The example worksheet examples,VectorCalculus has a lot of useful information about the changes that have been made to VectorCalculus, and now to Student[VectorCalculus]. To summarize, however, the fundamental changes relate to the information that mathematicians and scientists carry around in their heads when doing vector calculus, namely, the information about the spaces in which the various vectors lie.
 To demonstrate, consider the tangent spaces to a curve (or surface).  Vectors from the tangent space to the curve at different points should not be treated as being in the same space. To manage this, the notion of a "rooted vector" was introduced in Maple 11. A vector arising from a tangent calculation, for example, must carry with it the point at which it was computed. This information is stored as a vector space attached to the vector. Vectors in this vector space can be compared, dotted, added, etc, but vectors coming from different tangent spaces cannot be--at least not directly; the VectorCalculus package does not have the facility to map between such vector spaces.
 Additionally, the association between points and vectors relies on the coordinate vectors being independent of position. This is true only of Cartesian coordinates. Hence, a "vector" in, for example, polar coordinates, which does not carry information about where it should be attached, is really a point, not a vector, and cannot take part in the usual vector operations, such as dot product. In Maple, these objects are called "free vectors" (as they are not bound to any particular root point).
 See the examples,VectorCalculus worksheet for more details.