What's New in

**Maple 2023**The most powerful and comprehensive environment for exploring, visualizing, and solving even the most difficult math problems just got even better!

What's New |
Features |
Online Demos |
Compare |
Training |
Community |
Free Trial |
Buy Maple

The math engine in Maple has been updated in countless ways so that it can solve more problems, faster. Areas of improvement in Maple 2023 include (but are by no means limited to!) integration, solving equations, differential equations, graph theory, and logic.

The Plot Builder is a great tool for creating all sorts of plots and animations without worrying about the underlying commands, and now you can also use it to build customized interactive plot explorations where parameters are controlled by sliders or dials.

You can now have more than one help page open at a time! The Maple Help Browser now puts each page in a separate tab, making it substantially easier to consult multiple help pages at once.

Improvements to code editing tools include palette support in code edit regions, and the ability to view and modify external Maple code files using Maple’s code editing tools and execute that code at a click of a button.

New templates make it easier to create more complex interactive Math Apps and applications that require programming, such as interactive clickable plots, quizzes that provide feedback, examples that provide solution steps, and more. Applications can be used in Maple or Maple Learn.

Maple can provide step-by-step solutions for solving equations, differentiation, integration, inverting matrices, and more, and in Maple 2023, that collection has been further expanded to include implicit differentiation and completing the square.

A large collection of Classical Mechanics examples that align with popular textbooks makes it very easy for instructors and students to focus on the important concepts rather than the algebraic manipulations.

Plotting improvements in Maple 2023 include significant performance enhancements and the addition of color bars to 2-D contour and density plots that show the values of the gradations.

Performance improvements include greater access to fast hardware computations for core functions, speedier initialization of hardware float matrices, faster data import, and more.

New signal processing tools let you create, combine, and analyze signals in more ways, more efficiently. Maple 2023 adds support for FFT padding, Savitzky-Golay smoothing, quantization, and more.

Computations involving units are now more efficient, and entering units into code edit regions is significantly easier.

The OpenMaple™ API, which can be used to access Maple from to Java, C, and Visual Basic programs, can now also be used to call on Maple from Python.

Recorded Webinars: **Introducing Maple 2023**

Watch what the new release can do!

- Maple 2023 provides much simpler answers for many indefinite integrals of algebraic functions whose answers used to run over many lines, or even many screens. This improvement is achieved through the use of the Blake’s heuristic method, which expresses some algebraic integrands in more elementary forms. This technique results in much simpler, much more compact answers to integration problems that are easier to understand and work with.
- The
*int*command now exposes more internal routines for indefinite integration through the method option. It is now possible to directly call the integration by parts routine*Parts*and a parallel version of the Risch algorithm*ParallelRisch*, if desired. - Assumption handling for integration has been enhanced. The definite integration method that works via MeijerG convolutions now does a better job of checking conditions on parameters so that they are only applied under proper assumptions. It also tells the user the conditions under which the method could have produced an answer, so if the problem does meet those conditions they can add assumptions to obtain the result.
- The
*solve*command can now handle problems expressed as element-wise relations between vectors or matrices, instead of requiring you to rewrite the problem as a list of relations between the corresponding entries. - The
*simplify*command has been significantly improved, with a particular focus on trigonometric simplification. - The
*IntegerHull*command in the*PolyhedralSets*package has been extended to support both bounded and unbounded higher dimensional polyhedral sets. - The new
*ZPolyhedralSets*subpackage of the*PolyhedralSets*package is a collection of commands for working with Z-polyhedral sets, which are the intersections of a polyhedral set with an integer lattice. - The
*parametric*option to the*limit*command has been extended to handle more cases where the expansion point may lie on the branch cut of a mathematical function for some real parameter values. - A new, faster method for isolating the complex roots of a univariate polynomial with complex numeric coefficients has been added to the
*RootFinding:-Isolate*command, which in turn means that*fsolve*is also faster in these cases. - The
*collocation*method in*intsolve*has been improved, resulting in more and better approximations to solutions of integral equations. - The
*MultivariatePowerSeries*package deals with multivariate power series in a lazy fashion, meaning that extra terms for a given result can be computed quickly. In Maple 2023, this package can now deal with multivariate Puiseux series and univariate polynomials over multivariate Puiseux series.

Learn more...

- The Plot Builder is a convenient tool for creating a wide variety of customized plots and animations without worrying about the underlying commands, and now you can also use it to build interactive plot explorations where parameters are controlled by sliders or dials.
- Create 2-D and 3-D interactive plots whose values can be changed interactively, without using a single command.
- Select the range for each of your chosen interactive parameters, as well as the interactive components you wish to use to control them, such as sliders or dials.
- Customize the appearance of the plot, including colors, line styles, gridlines, axes style, title, and more, without having to know the syntax for setting plot options.
- View the Maple command that will produce the same interactive plot that you created, if desired, for easy reuse in your own code.
- Color bars have been added to 2-D contour and density plots to show the values of the gradations.
- Fourteen new colormaps are now available as
*ColorTools*palettes that can easily be used with the*colorscheme*option for plot commands that accept it. These include a new colorblind-friendly linear colormap, cyclical colormaps for data that cycles, and divergent colormaps. - More plot commands are responsive to the global color settings.
- The adaptive plotting engine is faster and uses less memory.

Learn more...

- Maple language files, which are typically saved with the file extension .mpl, can now be opened directly in Maple’s code editor, where you can view and edit the file using the editor’s syntax highlighting, command completion, and automatic indenting.
- Code edit regions allow you to include Maple commands, functions, and procedures in your document while taking advantage of standard code editing tools like syntax highlighting and automatic indenting. Maple 2023 includes many improvements that make it even easier to enter and run your Maple code in code edit regions.
- You can now use the palettes in code edit regions to make entering complicated or unfamiliar Maple syntax simple. When you are in a code edit region, clicking on a button on the Expression, Calculus, Matrix, or other palettes will insert the corresponding Maple syntax for that item. You can then easily edit the resulting Maple expression to change the values of any placeholders.
- It is easier to add units to your calculations and code. You can insert units into the code edit region using the Units palette or hotkeys, just as you would elsewhere in your document.
- The Find and Replace feature in Maple has been improved so that code edit regions are now included in the search, even if the code edit region is collapsed.
- You can now set code edit regions to accept Python code. See the Connectivity section for details.

Learn more...

- You can now have more than one help page open at a time. The help system now opens help pages in tabs, making it much easier to consult content from multiple help pages.
- When you load packages using the Tools > Load Package menu, the
*with*command that loads the package is now always visible in your document, even in Document mode. - New context panel menu operations are available for inserting rows and columns in a matrix before the cursor position as well as after, deleting rows and columns of a matrix, and adding additional branches to piecewise expressions.
- You can easily copy the full topic name of a help page to the clipboard, making it simpler to create a hyperlink to that page in your document.
- It is now easier to delete entries from a custom palette.

Learn more...

- A new Quiz Builder comes loaded with sample quizzes and makes it easy to create your own custom quiz questions. The Quiz Builder makes it easier to choose your question types, add hints, provide feedback, show the solution, and generate new problems.
- You can now create practise questions that ask students to provide all the steps of the solution, and then provides feedback on each step, not just the final answer.
- Quizzes can now have titles in addition to the question text.

A new template gallery provides examples that make it easier to create more complex Math Apps and interactive applications that require programming, such as interactive clickable plots, quizzes that offer students unlimited practice and provide feedback, examples that provide solution steps, and more.

- Over 44 templates and modifiable examples cover functions, geometry, calculus, and other topics.
- Examples demonstrate how to implement clickable plots, self-grading practise quizzes, solution steps, and other advanced features.
- The Maple code used for those applications can be easily viewed, copied, and modified, so you can customize specific applications or use the code as a starting point for your own work.

The

- Canvas elements have more options to control appearance, such as font size, color, slider controls, and custom attributes.
- New script commands make it easier to clear a single group, reset the entire document, or convert text with embedded MathML into plain text.

Learn more...

- Maple can provide step-by-step solutions for solving equations, differentiation, integration, inverting matrices, and more, and in Maple 2023, that collection has been further expanded to include implicit differentiation and completing the square.
- Maple 2023 adds a new option to the
*LongDivision*command, which shows full solutions to long division problems, to include a summary line with the final answer including any remainders. - A large collection of Classical Mechanics examples that align with popular textbooks make it very easy for instructors and students to focus on the important concepts rather than the algebraic manipulations. The material covers key topics including equations of motion, laws of conservation, canonical transformation, and rigid-body motion.

Learn more...

- The
*TravelingSalesman*command now makes use of Concorde, a well-known library implementing highly efficient heuristics for solving instances of the traveling salesman problem. This addition considerably increases the size of problems that*TravelingSalesman*is able to handle. - The
*GraphTheory*package now supports multigraphs, in which there may be multiple edges between the same pair of vertices. - Additional graph product operations are now supported: conormal, lexicographic, modular, and strong.
- The collection of special graphs supported by the
*GraphTheory*package has been further expanded (to 119 types of graphs!) with the addition of bouquet, dipole, Hamming, house, windmill, and bishop’s graphs.

Learn more...

The new Quantifier Elimination package offers a set of routines for quantifier elimination over the real numbers, as well as auxiliary tools for working with Tarski and other related formulae. Algorithms used by the package include Virtual Term Substitution, as well as Cylindrical Algebraic Decomposition using the Lazard projection with equational constraints, which is useful in quantifier elimination as well as in exploring real algebraic geometry. Lastly, a poly-algorithm offers a new way to use Virtual Term Substitution in conjunction with Cylindrical Algebraic Decomposition for both regular and incremental quantifier elimination.

Learn more...

- The
*Quantize*command is used to replace real-valued data in a container with values from a codebook, and display the original and quantized signals together. - The
*SavitzkyGolayFilter*command applies the Savitzky-Golay filter to a signal, whose applications include smoothing noisy data and estimating derivatives of data. The filter is also known as Polynomial Smoothing, Least-Squares Smoothing, and Locally Weighted Scatterplot Smoothing (LOWESS). - The
*Convolution*command has been updated to include shape options*full*,*same*, and*valid*. - The
*FFT*and*InverseFFT*commands in the*SignalProcessing*package now support padding and truncation. - Several commands in the
*SignalProcessing*package, including*DynamicTimeWarping*and*MUSIC*, now use compiled C code and so run much faster. - Most
*SignalProcessing*commands can now be run natively on Silicon CPUs, greatly reducing the need to switch processors and often providing faster computations.

Learn more...

- Courseware support for undergraduate mechanics provides material for an extensive topic list, including equations of motion, conservation laws, oscillations, rigid body motion, and more. It contains typical symbolic problems and shows how they can be solved in Maple, demonstrating how computer algebra can support the learning activity.
- A new
*LagrangeEquations*command receives an expression representing a Lagrangian and returns a sequence of Lagrange equations. - A general
*Substitute*command performs a wide variety of mathematical substitutions. - New commands for factoring expressions provide more control over the final form of the factors.
- You can now use any symbol as a coordinate system label, not just single capital letters.
- Expanded documentation provides even more examples of how the package can be used in different scenarios.

Learn more...

- Search the scientific literature for new journal articles and preprints without leaving Maple.
- Explore algorithms and computations for quantum computers with the new
*QuantumComputing*subpackage. - Fly through a molecule or an orbital in 3-D with new fly-though molecular animations.
- Import molecular geometries and skeletal structures for nearly 100 million chemical structures using SMILES formulas.
- Customize your own Hamiltonian in variational calculations of the 2-RDM.
- Teach Fermi’s Golden rule using the latest addition to the collection of built-in lessons for classroom learning and self-study in undergraduate-to-graduate chemistry and physics.

Learn more...

- The new
*ArrayTools:-SortBy*command allows one to easily sort a matrix or two-dimensional array by a specific column or row. - The new
*ArrayTools:-IsSubsequence*command checks if a one-dimensional container is a subsequence of another. - Support for new color spaces has been added to
*ColorTools:-Color*, including the CAM02 color spaces JCh (cylindrical) and Jab (rectangular), YUV, HSL, and grayscale. - You can now use the
*convert*command to easily convert between supported color formats. - The
*ColorTools:-Swatches*command now has two new options: mode and filter. The mode option applies one of several preset styles, and the filter option applies a procedure to each color before displaying it. - Two new related commands,
*ListTools:-InversePermutation*and*ListTools:-Unpermute*, determine, respectively, the inverse of a permutation given the forward permutation, and an unpermuted list given the permuted list and forward permutation. - The
*membertype*command has been extended so it can now also search for an operand of the requested type in products, sums, matrices, vectors, and arrays. *RealBox*and*ComplexBox*objects now support the inverse circular functions*arcsec*,*arccsc*, and*arccot*, as well as the inverse hyperbolic functions*arcsech*,*arccsch*, and*arccoth*.- The newly approved SI prefixes quetta-, ronna-, ronto-, and quecto-, meaning factors of 10
^{30}, 10^{27}, 10^{-30}, and 10^{-27}, respectively, are fully integrated into Maple 2023.

Learn more...

- The underlying engine that
*solve*uses for systems of linear equations with rational coefficients has been improved for many types of systems. - When initializing hardware-float matrix, vector, and array data structures, Maple will now use hardware float computations whenever possible when computing the entries, resulting in dramatic speed-ups in initialization time in some cases.
- The
*Units*package, and in particular the*Units:-Simple*subpackage, have received several upgrades that make them faster, sometimes several orders of magnitude faster. - The new adaptive plotting engine, first introduced in Maple 2022, has been sped up significantly.
- The
*ThermophysicalData*package, which contains functions for computing thermophysical, thermodynamic, and thermochemical properties, provides faster computations involving water and steam properties. - The
*evalhf*subsystem has been extended to handle all built-in (kernel) procedures that process arbitrary inputs and return hardware values, allowing a wider variety of code to be used inside*evalhf*. - Importing comma-separated value (CSV) files on Windows is now faster.
- Two new commands,
*integerdivq2exp*and*integermul2exp*, provide what are considered hardware bit-shift operations, and are fast methods for dividing or multiplying an integer by a power of 2.

Learn more...

- The new OpenMaple API for Python is an interface for the Python programming language that allows you to perform Maple computations and access Maple algorithms and data structures from a Python session on the same machine.
- Code Edit Regions can now be used to write and execute Python code from inside Maple more easily. When the Python language is set, the code edit region uses Python syntax highlighting, and when it is executed, the code is run using the underlying Python session associated with the
*Python*package. - The new OpenAPI package provides a way to automatically generate Maple packages to interface with HTTP APIs that conform to the REST (REpresentational State Transfer) architectural style, starting from an OpenAPI specification.

Learn more...

If you aren’t at Maple 2022 already, upgrading to Maple 2023 will also get you all the great improvements from the intervening releases. Here’s a sampling of improvements that could be of interest no matter what kind of math you do:

- Plots that automatically put the most interesting features front and center (Maple 2021), and that handle discontinuities without being told (yes,
*tan(*x*)*now looks right by default – no more vertical lines!) (Maple 2022) - Massively improved printing and document export, including PDF export (Maple 2020), LaTeX export (Maple 2021), and a Layout Mode so you don’t need to keep consulting Print Preview over and over again (Maple 2022)
- Improvements to help students become productive even more easily, including guidance when they accidentally enter the exponential
*e*and derivativeoperator incorrectly, helpful explanations for more error messages, and a redesigned Start Page designed to introduce new users to the basics quickly (Maple 2020)*d*

**See what else you’re missing** by checking out the What’s New for the versions that came after yours.

We’re More than Just Maple