Efficiency Improvements in Maple 6
A number of efficiency improvements have been applied in order to make Maple 6 faster and use less memory.
Numeric Linear AlgebraMutable Dense ArraysImmediate IntegersBivariate GCDs
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk0">Numeric Linear Algebra</Text-field>
Computations on large Matrices and Vectors containing floating-point data -- both hardware float data and arbitrary precision software float data -- can now be performed very efficiently in Maple by taking advantage of a built-in library of numeric linear algebra routines. These routines are provided through the alliance between Waterloo Maple Inc. and the Numerical Algorithms Group (NAG).
For more details, see LinearAlgebra,General,EffNumLA.
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk1">Mutable Dense Arrays</Text-field>
The addition of a new data structure to Maple allows us to define arrays that are both dense and mutable. Previously, Maple had dense, non-mutable arrays (lists) as well as sparse, mutable arrays (tables). The new arrays will allow certain algorithms to be written in a much more efficient way.
For more details, see rtable.
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk2">Immediate Integers</Text-field>
Integers that are small enough to fit into a machine word are stored in-place and do not require the overhead of arbitrary size integers. This leads to an improvement in memory consumption of a factor of two. Computations that involve many small integers are now also performed much faster than before.
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk3">Bivariate GCDs</Text-field>
Algorithmic improvements to computing bivariate GCDs over the rationals as well as over a prime field, result in an increase in speed by an order of magnitude compared to the previous implementation in Maple V. Bivariate GCDs are an important tool in Computer Algebra and are used by many functions in the Maple library.
For more details, see gcd and Gcd.