You are on page 1of 6

Comparison of Some New Maple 15

Features with Mathematica 8


Technical Communication & Strategy Group, Wolfram Research

Summary
The release of Maple 15 was accompanied by claims of important new features (http://
www.maplesoft.com/products/maple/new_features/index.aspx). However, a closer look shows that in
many cases Maple 15 offers only thin support that doesn’t come close to matching Mathematica’s
established advantages in the same feature area.

This report looks at the following areas advertised with Maple 15:

† Parallelism: Maple adds parallelism that needs awkward manual programming; Mathematica is faster
and automatic.
† GPU Support: Maple adds trivial support—a single CUDA function; Mathematica has a suite of
functions for CUDA and OpenCL.
† Interactive Demonstrations: Maple includes a few elementary demonstrations;
demonstrations.wolfram.com has 7000+.
† Visualization & Plotting: Maple adds support for some new special cases; Mathematica’s general
symbolic graphics language already does more.
† Performance: Maple has performance improvements in very specific areas; overall, Mathematica is
systematically faster.

Parallelism
Maple 15 advertises multi-threaded and grid-based parallelism (http://www.maplesoft.com/products/
maple/new_features/examples/montecarlo.aspx). However, this feature remains rooted in the old-
fashioned paradigm of requiring the user to manually program interprocess communication.

Compare the code for this Maple example and its corresponding implementation in Mathematica:

Serial version in Maple:

Serial version in Mathematica:

b-a
MonteCarlo@expr_, 8x_, a_, b_<, n_D := Sum@expr, 8x, RandomReal@8a, b<, nD<D
n

Comparison of Some New Maple 15 Features with Mathematica 8 | 1


Parallel version in Maple:

Parallel version in Mathematica:

ParallelMonteCarlo@expr_, 8x_, a_, b_<, n_D :=


n
MeanBParallelTableBMonteCarloBexpr, 8x, a, b<, F, 8$KernelCount<FF
$KernelCount

The Mathematica program is shorter and simpler. Messaging between computation kernels, either
local or across a grid, is automatic in Mathematica, whereas it is manually programmed in Maple.

Both serial and parallel cases are much faster in Mathematica 8 than in Maple 15:

Computations were carried out on an Intel Core i7-950 with 3.07 GHz and 24 GB of RAM, running
64-bit Windows 7.

GPU Support
While Maple 15 advertises “CUDA Support” (http://www.maplesoft.com/products/maple/new_features/
cuda_support.aspx), the functionality is very thin, with only a single CUDA operation built in, no
OpenCL support, and no support for user code.

Comparison of Some New Maple 15 Features with Mathematica 8 | 2


Maple 15 Mathematica
CUDA device discovery functions 0 6
CUDA image processing functions 0 12
CUDA linear algebra functions 1 5
CUDA signal processing functions 0 2
CUDA memory, language, and compilation functions 0 19
OpenCL functions 0 Hno supportL 25+
Execution of custom GPU code ä 

Interactive Demonstrations
Maple 15 advertises a new set of 49 demonstrations covering basic math topics (http://
www.maplesoft.com/products/maple/new_features/examples/demoindex.aspx). This compares
unfavorably to the free Wolfram Demonstrations Project, which adds over twice as many new
Demonstrations each month. The Demonstrations Project was launched in 2006 and now has over
7000 user-submitted Demonstrations.

Creating your own Demonstration is typically a one-liner in Mathematica. This Demonstration shows
electrostatic contours of point charges:

Comparison of Some New Maple 15 Features with Mathematica 8 | 3


Manipulate@ContourPlot@q1 ê Norm@8x, y< - p@@1DDD + q2 ê Norm@8x, y< - p@@2DDD,
8x, - 2, 2<, 8y, - 2, 2<, Contours Ø 10D, 88q1, - 1<, - 3, 3<, 88q2, 1<, - 3, 3<,
88p, 88- 1, 0<, 81, 0<<<, 8- 1, - 1<, 81, 1<, ImageSize Ø 8150, "Automatic"<, Locator<D

q1

q2

Visualization and Plotting


Animation
Maple 15 brings minor improvements to the animate() command (http://www.maplesoft.com/
products/maple/new_features/visualization.aspx). However, this Maple command remains severely and
fundamentally limited: it can only animate a single plot. It cannot animate expressions other than
plots, including customized arrangements of plots. For example, Maple’s animate() can’t be applied to
side-by-side plots like this:

Animate@
Row@Table@Plot@f@t xD, 8x, 0, 10<, ImageSize Ø Tiny, PlotRange Ø 3D, 8f, 8Sin, Tan<<DD,
8t, 0, 5<D

3 3
2 2
1 1
-1 2 4 6 8 10-1 2 4 6 8 10
-2 -2
-3 -3

Extracting Plot Data


Maple 15 advertises a new specialized user interface for extracting numerical data from plots. While
this may make the process slightly easier for Maple users, a specialized GUI like this is not necessary in
Mathematica. Instead, Mathematica’s unique symbolic language has always made this information
easily available to the user. Here is one way to get the numerical data from a plot:

Comparison of Some New Maple 15 Features with Mathematica 8 | 4


1.0
0.5
data = CasesB , Line@d_D ß d, ¶F;
-0.5 2 4 6 8 10
-1.0

Plot the data:

ListPlot@data, Frame Ø TrueD

1.0

0.5

0.0 ÇÇÇÇ
-0.5

-1.0
0 2 4 6 8 10

More importantly, Mathematica’s flexible symbolic structure allows easy customization and
modification of graphics, just as for any other expression. Here’s how to replace the lines in a plot
with orange tubes:

p = ParametricPlot3D@8Sin@uD, Cos@uD, u ê 10<, 8u, 0, 10<, ImageSize Ø SmallD

1.0

0.5 1.0
0.5
0.0
-1.0 0.0
-0.5
0.0 -0.5
0.5
1.0 -1.0

p ê. Line@pts_D ß 8Orange, Tube@pts, 0.05D<

Performance
Maple 15 advertises a significant performance boost for the operation of expanding a high-
order polynomial (http://www.maplesoft.com/products/maple/new_features/polynomial_arith.aspx)
and in a few basic sparse matrix operations (http://www.maplesoft.com/products/maple/new_features/
sparse_matrix.aspx). The comparison of Maple 15’s polynomial expansion performance with
Mathematica 8 is accurate, but misleading: more systematic comparisons show that Mathematica has
far better performance overall than Maple.

For example, our testing shows that Mathematica outperforms Maple in every area of numerical
computation (including sparse matrix operations, despite Maple 15’s recent improvements):

Comparison of Some New Maple 15 Features with Mathematica 8 | 5


Category Tests Median Mathematica performance
Elementary & special functions 21 1182 times faster
Complex elementary & special functions 21 2225 times faster
Extended-precision elementary & special functions 21 19 times faster
High-precision function evaluation 8 58 times faster
Real data operations HDefault data typeL 14 8 times faster
Real data operations HManual type overrideL 13 3 times faster
Complex number data operations 12 7 times faster
Complex number data operations HManual type overrideL 12 6 times faster
Integer data operations 10 14 times faster
Integer data operations HManual type overrideL 9 10 times faster
Sparse real data operations 8 19,899 times faster
Extended-precision data operations 12 10 times faster
Programming 2 65 times faster
GPU use 1 3 times faster

Contact us at info@wolfram.com for the detailed test report.

Comparison of Some New Maple 15 Features with Mathematica 8 | 6

You might also like