Efficiency Improvements in Maple 9.5
A number of efficiency improvements have been applied to Maple. Maple 9.5 is faster and uses less memory.
Quotients of Polynomials
Indefinite Rational Summation
Operations on Matrix Sub-blocks
Rtable Type Checks
Conversions Between diff and D
Numerical Linear Algebra
Maple 9.5 is more efficient when computing the quotient of sparse polynomials.
p1 := 25000000000000000000*x^24*(234374765625000000*(x^(1/5000000000*a))^609256031*y^9256031 + 7946285261481299*x^12*y^27768093 - 56259267500000000*(x^(1/10000000000*a))^609256031*x^6*z^9256031)^4;
p2 := y^100000000-x;
t0 := time():
res := quo(p1, p2, y);
time_consumed = time()-t0;
The algorithm of Gerhard, Giesbrecht, Storjohann, and Zima for indefinite rational summation has been incorporated into SumTools[Hypergeometric][SumDecomposition]. It is faster than the previous algorithm when the dispersion of the input is large.
ee := (x^2+2000*x+1001000)/((x+1001)*(x+1000)*x);
Sum(ee,x) = sum(ee,x);
time_consumed = time() - t0;
The new rtable_scanblock command performs efficient block-operations on regions of a Matrix, Vector, or Array.
Type checks of the form type(M,'Matrix'(algebraic)), which usually need to scan the entries of the given Matrix, Vector, or Array are much faster in Maple 9.5.
M := LinearAlgebra:-RandomMatrix(500);
time_consumed = time( type(M, 'Matrix'(algebraic)) );
Maple 9.5 includes faster conversions between the diff and D notations for derivatives.
diff( f(x,y,z,t), x$74, y$143, z$236 );
time_consumed = time( convert( (10), D ) ); # before it was 1/2 minute in typical machines
Maple 9.5 for Windows uses version 6.1 of the Intel Math Kernel Library (MKL) resulting in faster computation for large-sized hardware floating-point linear algebra operations.
The following example takes approximately 6.7 seconds in Maple 9 and 4.0 seconds in Maple 9.5 on a 1.7GHz P4 machine running Windows 2000.
M := LinearAlgebra:-RandomMatrix( 1600, outputoptions = [datatype = float] ):
time( M.M ); # see text above for timings
Linux and Macintosh OS X
Maple 9.5 for Linux and Macintosh OS X uses tuned versions, from ATLAS, of a select group of CLAPACK functions related to hardware floating-point linear algebra computations, such as LUDecomposition and LinearSolve.
The following example takes approximately 0.66 seconds in Maple 9 and 0.40 seconds in Maple 9.5 on a 2.4GHz P4 machine running Linux. On a G5 machine running OS X 10.3, this example takes approximately 0.43 seconds in Maple 9 and 0.25 seconds in Maple 9.5.
M := LinearAlgebra:-RandomMatrix( 1000, outputoptions = [datatype = float] ):
V := LinearAlgebra:-RandomVector( 1000, outputoptions = [datatype = float] ):
time( LinearAlgebra:-LinearSolve( M, V ) ); # see text above for timings
Index of New Maple 9.5 Features
Download Help Document
What kind of issue would you like to report? (Optional)