Maple vs Mathematica
Maple 15 vs Mathematica 8
Maple has traditionally focused on computer algebra while Mathematica has had a broader aim.
Maple is the slightly older product, but for many years the R&D rate of Mathematica has outpaced Maple's. In recent years this has accelerated with around 2000 new features added to Mathematica in the last 5 years compared to around 150 in Maple.
Contents |
[edit] Numerics
Both Mathematica and Maple support computations using floats, arbitrary precision and complex arithmetic. Maple has a software floating point model which is an extension of IEEE 754. Mathematica provides a floating point arithmetic model that allow precision tracking to identify and control the propagation of rounding errors.
Maple provides linear algebra and other matrix operations via LAPACK or the NAG FORTRAN libraries using a choice of native hardware floating point arithmetic or arbitrary precision floating point numbers. Mathematica similarly uses the LAPACK libraries for numerical linear algebra.
Mathematica provides optimized computations for image processing including morphological image processing. Maple has a package for non-morphological image processing only, using only slower, more general linear algebra capabilities.
Mathematica includes an internal compiler to optimize the performance of numerical code and compilation to external C code. Maple only provides compilation to external languages.
Scientific Web's detailed comparison of numerical computation systems [1] puts Mathematica 6 ahead of Maple 11 in every category, with the greatest difference in speed performance.
Mathematica supports general access to CUDA and OpenCL GPU architecture, including many built-in accellerated commands and arbitrary program execution. Only one Maple command (matrix multiply) supports CUDA. It has no general CUDA access or any OpenCL access at all.
[edit] Symbolics
Both Maple and Mathematica provide symbolic computing capabilities.
In general Maple is more powerful on solving Integral equations and Groebner basis, Mathematica is more powerful for integration, recurrence relations, equation solving and simplification. Differential equation solving is comparable in both systems.
Both systems provide domain control. Maple can declare symbols to be real, complex, or within intervals. Mathematica can declare real, complex, interval and integer attributes.
Mathematica supports around 170 probability distributions for numeric and symbolic computations. Maple supports around 50.
Mathematica supports optimized data structures for all graphs.
[edit] Graphics
Both systems provide a range of 2D and 3D graphics. The range is far greater in Mathematica.
Both Maple and Mathematica provide adaptive re-sampling for smoother 2D plots but only Mathematica extends this capability to 3D plots.
Both provide mouse driven rotatable 3D graphics.
Maple provides 3D fly-by views, Mathematica does not. Mathematica graphics can contain active elements such as tooltips, mouse-over effects, tab and menu views and draggable elements. Maple cannot.
Mathematica graphics support arbitrary spot, directed and ambient lighting. Maple allows only fixed lighting choices.
Mathematica graphics support texture mapping, Maple's do not.
[edit] Programming
Maple provides a programming language that combines elements from functional, procedural and object oriented programming.
Mathematica provides a mixed functional/procedural language based on pattern matching and term rewriting.
Mathematica can also be instructed using plain English, using the Wolfram|Alpha linguistic parser to convert to Mathematica language commands. Maple cannot.
An Integrated Development Environment (IDE), based on Eclipse, is provided to Premier subscribers for large project work for Mathematica. Maple has no IDE.
A runtime version of Mathematica, CDF Player, allows code and interfaces written in Mathematica to be shared with and used by people who do not have access to Mathematica. Maple offers the free Maple Player but it can only access content created by Maplesoft.
Maple has connectivity to specific 3rd party systems like MATLAB as well as CAD systems like NX, Solidworks and Autodesk Inventor. Mathematica provides general APIs to C, Java, .NET, SQL and others.
[edit] Interface
Both systems use a notebook style interface. Both systems support typeset math. Both systems support interface building. The CDF Player acts as a free document reader for Mathematica notebooks.
Maple provides a set of around 50 special-case interfaces for helping explore specific topics. Mathematica provides none in the interface but hosts a web resource http://demonstrations.wolfram.com with over 7000 user created special-case interfaces. And a library of around 5000 user contributed programs http://library.wolfram.com
Maple provides a similar web resource of around 2100 applications http://www.maplesoft.com/applications/ and a further 40 special case interfaces.
[edit] Import Export
Mathematica provides around 170 import/export filters using a standard interface. Maple provides around 15 import export filters.
Mathematica can read real-time video streams, haptic device states and live Wolfram|Alpha data such as share prices, current and historical weather and other live feeds. Maple cannot.
[edit] Price
Pricing is similar for both products.
[edit] Companies
Mathematica is produced by Wolfram Research in the USA (http://wolfram.com). It also makes webMathematica, gridMathematica and provides the websites http://mathworld.wolfram.com and http://wolframalpha.com.
Maple is produced by Maplesoft in Canada (http://maplesoft.com). It also makes MapleNet, MapleTA and MapleSIM.