What's New in Maple 15 - Maple Programming Help

What's New in Maple 15

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.

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.

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.

 > $f≔\mathrm{expand}\left({\left(1+x+y+z+t\right)}^{20}\right):$
 > $\mathrm{expand}\left(f\cdot \left(f+1\right)\right):$

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

Maple 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.

Monte-Carlo integration using multiple compute processes

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 Macintosh 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.

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.

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.

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 $\mathrm{π}$.

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

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.

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% of the 1390 linear and nonlinear ODEs from the famous text, Differentialgleichungen by Kamke. Mathematica® 8 only handles 79%. 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.

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.

Polynomial manipulations are faster in Maple 15

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.

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 Equation

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.

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.

 >
 ${{}\begin{array}{cc}{{}\begin{array}{cc}\left[\left\{{x}{=}{x}\right\}\right]& {b}{=}{0}\\ \left[\left\{{x}{=}{1}\right\}\right]& {b}{\ne }{0}\end{array}& {a}{=}{0}\\ \left[\left\{{x}{=}{1}\right\}{,}\left\{{x}{=}\frac{{b}}{{a}}\right\}\right]& {a}{\ne }{0}\end{array}$ (1)

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

 >
 ${{}\begin{array}{cc}{0}& {a}{=}{b}{+}{1}\\ {\mathrm{Ψ}}{}\left({b}{+}{1}\right){-}{\mathrm{Ψ}}{}\left({a}\right)& {1}{\le }{a}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{and}}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{0}{\le }{b}\\ {\mathrm{Ψ}}{}\left({-}{b}\right){-}{\mathrm{Ψ}}{}\left({1}{-}{a}\right)& {a}{\le }{0}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathbf{and}}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{b}{\le }{-}{1}\\ {\mathrm{FAIL}}& {\mathrm{otherwise}}\end{array}$ (2)

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.

 >
 >
 >
 ${{}\begin{array}{cc}{{z}}^{{4}}{-}{{z}}^{{3}}{+}{{y}}^{{2}}{+}{{x}}^{{2}}{=}{0}& {}\\ {2}{-}{z}{>}{0}& {}\\ {5}{}{y}{-}{1}{>}{0}& {}\\ {256}{}{{y}}^{{2}}{<}{27}& {}\\ {256}{}{{y}}^{{2}}{+}{256}{}{{x}}^{{2}}{<}{27}& {}\end{array}{,}{{}\begin{array}{cc}{4}{}{z}{-}{3}{=}{0}& {}\\ {256}{}{{y}}^{{2}}{-}{27}{=}{0}& {}\\ {5}{}{y}{-}{1}{>}{0}& {}\\ {x}{=}{0}& {}\end{array}{,}{{}\begin{array}{cc}{4}{}{z}{-}{3}{=}{0}& {}\\ {256}{}{{y}}^{{2}}{+}{256}{}{{x}}^{{2}}{-}{27}{=}{0}& {}\\ {5}{}{y}{-}{1}{>}{0}& {}\\ {6400}{}{{x}}^{{2}}{<}{419}& {}\end{array}$ (3)

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 supports 35 distributions and allows you to compute with 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 to 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 functionality in DEtools and PDEtools
 • 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

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.

Physics

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.

Financial Modeling

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

This package is not available on 64-bit Windows, but can be accessed by installing the 32-bit version.

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.

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.