Parallel Performance

Maple 15 offers numerous options to take advantage of parallel computing, from multi-core machines to large-scale compute clusters, allowing you to tackle larger problems faster than ever before.
Top 10 Reasons to Upgrade
Take advantage of over 270 new mathematical functions and over a thousand enhancements to existing algorithms
Solve more complex problems faster than ever before
Take full advantage of the power of multi-core computing
Compute symbolic solutions to differential equations that no other system can match
Work more effectively with large data sets with new Statistics functionality and the interactive data table
Create even more compelling interactive applications for use within Maple or deployment with MapleNet
Gain greater control of your worksheet sessions using the new variable manager
Take advantage of the latest in interactive assistants, tutors, task templates, and other Clickable Math tools, including dozens of new built-in demonstrations for illustrating common concepts in mathematics
Get serious about physical modeling and control design using the new DynamicSystems functionality together with MapleSim and the MapleSim Control Design Toolbox
Explore the MapleCloud with full-text search and easily share your documents with your colleagues, your class, or Maple users worldwide



Evolution of the number of functions in Maple from 2000-2011

“Maple 15 is impressive. I found useful improvements across the entire product, and I’m especially happy with the new parallel computation features. I’ve already noticed a speed-up in many Maple computations, and I’m sure it’s going to have a big impact on my research projects, too.”
Dr. Amir Khajepour
Canada Research Chair in Mechatronic
Vehicle Systems
Professor, University of Waterloo

Automatic Parallelism


Maple takes advantage of the full processing power of your computer, automatically detecting and using all available processor cores to perform many computations in parallel. You do not need to do any special programming, change any options, or even know how many cores your computer has! In Maple 15, many fundamental operations can be done in parallel, so your results are available much faster and you can tackle larger problems.

Auto Parallelism

As an example, Maple 15 automatically parallelizes many polynomial operations. Since polynomial operations are used extensively throughout the Maple library as part of other computations, many different operations will also benefit from this parallelism.

For example, expanding polynomials takes advantage of multiple cores.



These operations, when run on a computer with an Intel Core i7 920 processor, 2.66GHz 64-bit, give the following execution times:



Due to improvements in memory management in Maple 15, this example requires about 20% less memory in Maple 15 than in Maple 14. For larger examples, the memory improvement is even more dramatic.

Multi-process Programming on
a Local Grid


/products/maple/new_features/local_grid.aspxMaple 15 now allows you to launch multiple compute processes right from the user level, without the need for any prior setup or administration. The same API is used for large-scale grid computing on a cluster or supercomputer, allowing you to easily prototype and test distributed code on your own computer and then deploy the same code to a large grid. With 4-core computers now commonplace and 8- to 12-core computers becoming more popular, the new local grid functionality is a great option to dive into parallel programming and experience instant speedups, whether or not you want to later scale beyond your local computer.

Multithreaded Programming


Multi_threaded

Maple is the only technical computing system that allows you to take advantage of multithreading in your own programs. The Maple programming language offers direct access to launching and controlling threads. In addition, Maple also provides a task-based programming model that simplifies thread management. Thread performance has been significantly enhanced in Maple 15 and a number of important additions to the task-based API mean you can write parallel programs more effectively and take advantage of all the cores on your computer.

Grid Computing




The Maple 15 Grid Computing Toolbox allows you to deploy your parallel programs to large-scale compute clusters and supercomputers
, taking full advantage of all available processing power to tackle very large problems. Maple Grids can be set up on a dedicated cluster or integrated into existing MPI or Windows HPC Server environments. Enhancements to the Grid package, including new flexible argument passing, make Maple 15 an ideal environment for serious high performance computing.

CUDA Support


Maple can take advantage of CUDA-enabled graphics cards to leverage the tremendous computational power of those cards, dramatically speeding up key computations.

New in Maple 15, CUDA support is now also available on Mac OS® X platforms.


User Interface

Maple 15's smart document environment gives you more options for developing your solutions, exploring mathematical concepts, and sharing your results. 
Variable Manager


The variable manager provides easy access to all variables that are defined in your Maple session, allowing you to better manage your documents, quickly assess the state of your computations, and inspect variable values without the need to navigate through the document.



Visualization and Plotting




Maple provides over 160 plot types and options to visualize expressions and data across many domains. Plots can be customized in a variety of ways, and annotated using text, mathematical expressions, arrows, free-hand drawings, and more.

New in Maple 15, when plotting a trigonometric expression, the axes are automatically labeled using multiples of π.



Maple 15 also provides the ability to directly extract data from a plot, and new functionality for visualizing solutions of differential equations.
Data Tables




Working with large amounts of data is seamless in Maple 15 using the new data table, which can be embedded directly into your document. The data in the table can be changed both interactively and programmatically, to provide both power and flexibility for your application.

The table data can be imported and exported using a variety of formats, including Microsoft Excel.


Create Interactive Applications




With Maple 15, you can quickly build sophisticated applications that include interactive elements such as sliders, buttons, and dials in your document. You simply drag and drop these interface components into your document, and then define their behavior using a few simple Maple commands. In Maple 15, the new data table is part of this collection of interactive components, so you can build even more powerful applications that receive, display, and use tabular data.

After an application is created, it can be used within Maple or shared on the web using MapleNet. Saving the unmodified document onto the MapleNet server is all it takes to deploy and share your work.
Interactive Assistants and
Task Templates




Maple has over 60 interactive assistants and tutors as well as almost 350 task templates that guide you through a wide range of common tasks, from plotting a function to computing a volume integral, all without the need to know command names, learn syntax, or remember option names.

Together with context-sensitive menus that let you perform mathematical operations simply by clicking on an expression in your document, these Clickable Math features are a major reason why Maple has the shortest learning curve among technical computing systems. Using these innovative tools, new users can start getting results immediately.

In Maple 15, many of the interactive assistants and tutors are further enhanced for even greater consistency and ease of use. Maple 15 includes improved context-sensitive menus optimized for use on smaller screens, such as on netbooks. In addition, Maple 15 introduces over 40 new mini-demonstrations, allowing you to explore and illustrate a broad set of fundamental mathematical concepts.



MapleCloud Document Repository


Thousands of documents have been exchanged by our user community since the launch of the MapleCloud. Maple 15 now enables you to search the content of documents in the cloud repository, making it even easier to find documents of interest quickly and open them in your Maple session.

Computational Algorithms

Maple 15 includes new world-class algorithms for both symbolic and numeric computing, substantial performance improvements, and support for new application areas.
Differential Equations


Maple is the uncontested leader for computing symbolic solutions to differential equations. Numerous improvements in Maple 15 further expand the classes of problems that can be handled.

As an example, Maple 15 now computes symbolic solutions to 97.5% of the 1345 solvable linear and non-linear ODEs from the famous text, Differentialgleichungen by Kamke. Mathematica® 8 only handles 79.8%. Maple also solves these ODEs almost 10 times faster than Mathematica.



In additional to its symbolic solvers, Maple can also numerically solves large classes of ODEs, PDEs, and DAEs. In particular, Maple 15 has highly efficient solvers for the notoriously difficult high-index differential-algebraic equations, which can be effectively used with large-scale problems.



Sparse Matrices


Many operations for numeric sparse matrices are optimized to run much faster than ever before. Hardware float multiplication, transpose, block copy, concatenation, and submatrix selection operations can now be done almost instantaneously.




Parametric Solving


Maple 15 makes it possible to get full solutions to parametric polynomial equations, showing all the different solutions in terms of the properties of the unknown parameters.



The sum command also accepts a new ‘parametric’ option to give full case discussions involving parameters.





With new commands in the RegularChains package, you can compute real solutions of polynomial systems involving inequalities and inequations, which again allows you to explore parametric solutions.


Optimization




A new interior-point method solver further strengthens the suite of optimization solvers in Maple.
The new solver offers significant speed improvements for large sparse linear problems.
Polynomial Arithmetic




The Maple symbolic computing engine is second to none in terms of scalability and performance.
Maple 15 introduces a further significant enhancement for multiplication, division and powering of large, dense polynomials, yielding speedups of a factor of four or more.
Differential Geometry




Seventeen new commands in the Differential Geometry package
support advanced computations in the area of general relativity. Many existing commands are enhanced, offering more functionality and simplified calling sequences. Areas of enhancement include two-component spinors and the Newman-Penrose formalism, special geometric fields, matrix groups and Lie groups, invariant tensors, and a database of solutions to the Einstein equations.

High-Precision Algebraic
Riccati Equations


The Maple CARE and DARE solvers for continuous and discrete algebraic Riccati equations are enhanced with high-precision solvers that allow you to get solutions beyond IEEE double precision. These kinds of equations are important for many applications, and are particularly useful in control design.



Statistics




Maple offers extensive statistics functionality, allowing you to compute both symbolic and numeric results for a large variety of application domains. With Maple, you can:

  • Work with more statistical properties than any other system. Maple provides 35 distributions and allows you to compute 45 different properties of those distributions.
  • Easily create your own distributions by supplying a formula for the respective probability distribution function or cumulative distribution function, or simply by combining existing distributions.
  • Perform estimations using maximum likelihood and other methods as well as hypothesis testing.
  • Run data smoothing to extract identifiable patterns from noisy data.
  • Use interactive assistants and templates to easily access the tremendous power of this package and get results quickly.

Maple 15 features a number of new commands and enhancements to the statistics functionality in Maple. In particular, new commands efficiently compute approximations of the autocorrelations of a discrete time series and the cross-correlations of a pair of discrete time series.


Units and Tolerances




With Maple, you can seamlessly attach units and tolerances to your variables and perform computations with such quantities.
Maple is able to convert between over 500 different units, check unit consistency, and compute bounds on the result of a computation involving input tolerance values.

Among the enhancements in Maple 15 is a new routine to provide greater control over unit simplification.


Other Improvements


Numerous additional improvements have been made to the computational engine in Maple 15.



Some examples include:

  • The introduction of Bell polynomials
  • A new package for computing with magmas
  • New routines for working with arrays
  • Improvements to the Maple debugger
  • A new programming guide to help you get the most of the Maple programming language

Control Design
Physics
Financial Modeling


Maple has an extensive range of tools for working with linear systems using the DynamicSystems package. Together with MapleSim and the MapleSim Control Design Toolbox, Maple offers a very effective environment for linear and nonlinear control design.
  • Definition of linear and nonlinear systems using transfer functions, state-space matrices, zero-pole-gain as well as differential equations and easy conversion between these representations
  • Support for continuous and discrete systems with multiple discretization schemes
  • Standard analysis tools from Bode, Nyquist, Zero Pole, Root Locus and Root Contour plots to observability, controllability and Routh tables
  • Computation of operating points and model linearization
  • PID tuning with Ziegler-Nichols (time and frequency response) as well as Cohen-Coon
  • Advanced PID tuning methods: Dominant pole placement, Pole placement in a specified region and gain and phase margin
  • State-feedback control: LQR as well as single and multiple input pole placement
  • State estimation: Kalman filters as well as single and multiple input pole placement

Maple's symbolic engine allows you to introduce parameters and compute results in terms of those parameters. Improvements in Maple 15 in the area of control design include added flexibility when specifying input and output parameters

Maple is a great tool for many applications in physics research and teaching. Kinematics, dynamics, tensor calculations, computing closed-form solutions to ordinary and partial differential equations, differential geometry, abstract vector algebra, special functions, electrodynamics, general relativity, quantum mechanics, and Feynman diagrams are some of the areas in which you can perform advanced calculations using Maple.





Advances in solving differential equations, introduction of the Bell functions, and new algorithms for differential geometry in Maple 15 further increase the depth and breath of physics applications that can be done in Maple.



The new Finance package offers a rich set of functions for financial modeling in the areas of risk analysis, portfolio management, quantitative analysis, and model validation.

Available features include:

  • Tools for creating and analyzing term structures of interest rates
  • Stochastic processes and simulation, and symbolic tools for manipulating stochastic variables
  • Lattice methods, tools to construct binomial and trinomial trees, including equity trees, short-rate trinomial trees, implied binomial, and trinomial trees
  • Calendars, day counters, and interest rates
  • Support for instruments such as European, American and Bermudan options, and the ability to create new instruments by specifying payoff as a Maple procedure
  • Bonds and swaps


Connectivity

With Maple 15, connecting to the internet and to other products in your toolchain has never been easier.
Code Generation


C# joins C, Java, Fortran, Visual Basic, and MATLAB® as a new target language for code generation. Using the code generation tools, Maple expressions and programs can easily be converted to royalty-free source code.



Maple 15 also includes a new optimization algorithm that generates even more efficient and compact code than before. The symbolic techniques used in this optimization process go far beyond what standard language compilers can achieve, and allow you to take very complex expressions and generate efficient numeric code to evaluate them.





HTTP Connectivity




Maple 15 offers a new package for making connections to web sites and retrieving results. You can connect to data feeds, online databases, and other sources of internet and intranet information, and incorporate that data automatically into Maple applications.

The extremely wide range of applications for this functionality include financial data analysis and geo-mapping.

Excel Connectivity


Excel connectivity in Maple 15 is more flexible, with new ways to extract and manage data.



CAD Connectivity




Maple adds important analysis capabilities to CAD systems
, giving CAD users the ability to use Maple's computational power to analyze and optimize designs. Maple connects to the three major CAD stools on the market: Solidworks, NX, and Autodesk Inventor. With Maple 15, CAD connectivity is expanded to include NX 7.


Matrix Import and Export




Support for importing and exporting MATLAB® matrices in Maple has been extended to handling sparse matrices as well as dense ones.