
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 ndimensional 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 socalled Wilcynski (relative) Invariants for linear ODEs as well as (relative) invariants for nonlinear ODEs obtained using an innovative derivation of the Wilcynski invariants.



DiscreteTransforms



The DiscreteTransforms package now has numerical wavelet transforms. This includes the ability to obtain the coefficients for many wellknown classes of Wavelets for varying filter lengths, including Daubechies and BiOrthogonal Spline wavelets, and the application of these wavelets on discrete data. For more information, see DiscreteTransforms.



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.



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 onedimensional 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 onedimensional 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 beat 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).



