Programming Facilities Changes in Maple 12 - Maple Programming Help

Programming Facilities Changes in Maple 12

 Maple 12 includes the following changes to programming facilities.

Programmer Indexing of Arrays, Matrices and Vectors

 Round brackets can be used to index into Array, Matrix, and Vector data structures.  For full details refer to ?rtable_indexing. Highlights include:
 • the ability to grow arrays past their initially declared bounds.
 • the ability to reference multi-dimensional arrays with a single integer, making looping over all elements easier and more efficient.
 • compatibility with the way MATLAB® indexes arrays.

Operations on pairs of Sparse or Dense arrays

 The zip command now accepts a prefix option: zip[sparse], and zip[dense] indicating whether the zeros in the sparse objects should be ignored or included.
 > zip[sparse]((x,y)->x+y+1,Array(1..3,{1=1},storage=sparse),     Array(1..4,{2=2},storage=sparse));
 $\left[\begin{array}{ccc}{2}& {3}& {0}\end{array}\right]$ (1)
 > zip[dense]((x,y)->x+y+1,Array(1..3,{1=1},storage=sparse),     Array(1..4,{2=2},storage=sparse));
 $\left[\begin{array}{ccc}{2}& {3}& {1}\end{array}\right]$ (2)

Finding Maximum and Minimum Elements

 The max and min commands now accept lists and rtable-based arrays as arguments.  The list or array is scanned to find the maximum or minimum object contained inside.
 > max( [-5,1,17], <12,-32,4> );
 ${17}$ (3)
 > min( <12,-32,4> );
 ${-32}$ (4)