# **Maple 2021**中的新功能

Maple 2021新版本于整体产品功能上做了一系列的增强，不仅在精细的界面功能上进行改进，还拓展了全新的数学领域。

**更丰富的数学功能**

Maple始终围绕数学，每个新版本都会扩展和加深Maple数学引擎，因此可以帮助您更好的解决问题。

**可求解更多类型的ODE和PDE**

Maple在求解常微分和偏微分方程的精确解/解析解方面，向来是世界领先的。Maple 2021添加了新功能使您能比以往求解更多微分方程的问题。

**运行速度的提升**

新版本运行性能得到显著提升。以map命令为例，多数用户的代码以及整个Maple库中都会广泛使用map命令，所以在新版本的性能改善中就包含了更快速的map命令。

**探索宇宙
**新版本中，Maple在物理领域内的符号计算环境，比以往任何版本都强大。新增了更多解决量子力学、广义相对论等问题的工具。

**直观的视觉体验
**新版本中对许多关乎用户体验的细节进行了优化。往往一个微小的调整就会产生更佳优异的感官体验，例如，在未设置绘图区间时，Maple会自动选择图形中最具特点的部分显示在绘图正中央。

**简化工作流程
**新版本中，在文档模式下工作将更加顺畅。针对插入空白行，合并数学和文本，以及前进到下一个计算区域，添加了新的操作方式。

**Latex更容易
**新版本极大改进了对于LaTeX的支持，您可以利用Maple的工作环境，轻松地将您的文档转换为LaTeX，而无需进行进一步的调整。

**信号与图像**

新增更多处理信号与图形的工具，您可以使用命令或关联菜单更好的分析信号和图像。

**学习手册**

Maple 2021内置了三本交互式电子书，帮助您更好地教学或学习微积分、预科微积分和多元微积分。

**微分方程学习
**新的Student ODE软件包提供了许多用于学习微分方程的工具，包括结果可视化和分步求解器。

**为Maple Learn创建内容
**新添加的内容创建工具，可以帮助您更方便地创建复杂的Maple Learn应用程序，当然这些工具也可用于创建Maple的内容。

网络研讨会

**Introducing Maple 2021:**

See what the new release can do by attending a live webinar.

Maple 2021 includes a very large number of improvements that strengthen the math engine, expanding Maple’s abilities to handle new areas of mathematics and solve harder problems, faster. In addition to the mathematical improvements described in more detail elsewhere, Maple 2021 enhances support for many areas of mathematics, and improves fundamental routines that are used regularly both by customers and by other Maple commands.

- Integration has been enhanced with improved algorithms for indefinite integration, and the ability to easily specify which integration method should be used and to compare the results from different methods.
- The
*limit*command has been improved for the multivariate case of quotients of analytic functions, finding solutions to more problems than before. - A new Multivariate Power Series package provides functionality for doing lazy computations with multivariate power series at high speed and high precision. The terms are computed only when necessary, and further terms can be computed at relatively little cost.
- Simplifications of expressions involving the Lambert W function have been improved.
- You can now numerically solve differential equations that are collected together in vectors, easily.
- A new and faster algorithm for checking for redundant constraints is available when projecting a polyhedral set to a lower coordinate dimension using the Polyhedral Sets package.
- The
*asympt*command can now compute asymptotic expansions of the logarithmic integral. - After a finite Galois field has been constructed using the GF package, there is now an easy syntax to create new field elements.
- The
*intsolve*command has been updated to recognize some integral equations that contain integral transforms, and the method of collocation is now available to provide approximate solutions for certain types of integral equations. - The Linear Recurrence Equations Tools package has been enhanced with the addition of several commands related to recurrence factorization and recognition, including
*GuessRecurrence*,*GCRD*,*LCLM*,*RightDivision*,*OperatorToRecurrence*,*RecurrenceToOperator*,*MinimalRecurrence*, and others. - Two new commands in the Generic subpackage of the Linear Algebra package can be used for addition and scalar multiplication of matrices and vectors over a specified domain of computation.

Learn more...

- There are significant improvements in
*dsolve*for finding exact solutions of second order linear ODEs using hypergeometric functions. The algorithms implemented are at the frontier of the understanding of this problem, and handle classes of extended equations with apparent singularities as well as the most common linear equations with four and five singularities. - For ODEs and PDEs, the Lie Algebras of Vector Fields package has a new command for analyzing the possible linearization of polynomially nonlinear equations and determining the corresponding mapping when it exists, allowing for the computation of more approximate and exact solutions.
- The new Student ODEs package covers the material in a standard first course in ODEs, and provides step-by-step tools for solving ODEs as well as interactive visualization.

Learn more...

- The new
*Newick*and*PrueferCode*commands offer alternate ways to encode a tree as a string or list of integers. *IdentifyGraph*tests a graph for isomorphism against many of the named special graphs known to the Graph Theory package.*IsSubgraphIsomorphic*tests whether a given graph is isomorphic to a subgraph of another given graph.- The
*BipartiteMatching*command has been extended to support weighted graphs. - The performance of many commands has been substantially improved.
- Maple 2021 provides support for 16 additional Special Graphs, including Banana Tree, Butterfly, Crown, Gosset, Markström, Watkins Snark, and others, bringing the total to 113.

Learn more...

Learn more...

Learn more...

In addition to the changes described elsewhere, Maple 2021 includes a variety of other enhancements to the interface that support your work in Maple. In particular, Maple 2021 includes several improvements to streamline the workflow when using Document Mode.

- In Document Mode, pressing Enter while in math input now moves the cursor to the next math input after evaluating the expression, so you can quickly update parameters and see the downstream effects using just the Enter key.
- When entering mathematical expressions as part of your text, it is now easier to ensure those expressions are entered as non-executable math when working in Document Mode.
- You can now insert a new blank line above your current line in Document mode simply by moving the cursor to the start of the line and pressing Enter.
- In a code edit region, pressing Enter now executes the code contained in the region, and Shift+Enter inserts a new line.
- When a number is displayed in scientific notation, it is now displayed with a visible multiplication symbol, ×, before the 10
^{n}portion. - A new option allows you to keep auto-saved files even after you restore a back-up.
- Warning messages about the use of
*e*and*d*can be suppressed if desired. - Maple now has a notification system that will be used to send you messages relevant to your use of Maple, such as the availability of a new release.
- The help search box has been improved to allow copying and pasting of terms into the search box.

Learn more...

Learn more...

- The new Student ODEs package helps students work with, plot, and solve individual ordinary differential equations and systems of ordinary differential equations. It provides:
- Step-by-step solutions for solving an ODE or system of ODEs, including first and second order ODEs and IVPs, Cauchy-Euler equations, series solutions, and more
- Commands that allow students to perform individual solving steps without jumping to the final answer
- Control over the choice of solving methods when desired
- Commands that are useful for reducing the order of ODEs
- A visualization tool that produces an interactive plot of a first order differential equation system of two equations, along with controls to explore and manipulate the plot, or to adjust the input ODE or system and its parameters
- The Student Basics package includes new commands that produce step-by-step solutions for solving equations, factoring polynomials, and performing long division.
- With the new Degrees package, you can now perform trigonometric computations in degrees instead of radians more easily.
- The Student Linear Algebra package has been expanded to include a singular values command.

Learn more...

- The Student Basics package now includes commands that show complete, step-by-step solutions for solving an equation or system of equations, factoring a polynomial, and long division.
- The
*ShowSolution*command in the Student Calculus1 package has been improved to show more detailed steps when solving integration, differentiation, and limit problems. - The
*ODESteps*command in the new Student ODE package provides detailed steps when solving ordinary differential equations and systems of ODEs. - The tutors for matrix inverse, eigenvalues, eigenvectors, and Gauss Jordon elimination, in the Student Linear Algebra package, now offer the option of returning a step-by-step solution directly to the worksheet.
- Solution step commands can also be used to create a Maple Learn document containing the step-by-step solution.

Learn more...

- Maple 2021 provides new tools for creating documents and interactive applications programmatically in the new Canvas subpackage of Document Tools. The new concept of a canvas has two main uses.
- The canvas allows you to create Maple Learn content in Maple and then share it through Maple Learn. This allows instructors to take advantage of Maple’s more advanced document and analysis tools to create sophisticated content that students can then use in Maple Learn.
- The canvas provides a framework for Maple users to easily build applications where the number of required input fields is not known in advance. The user can create as many input fields as they need while they use the application, and Maple looks after the details of creating and extracting the information from those fields for you.
- The new
*SolvePractice*command in the Grading package creates an interactive application where you can enter the step-by-step solution to the given problem, and then click a button that will analyze your steps and provide feedback. - The
*PracticeSheet*command, which generates a grid of math practice problems intended for basic drills, now has an option to return a canvas that can be deployed to Maple Learn. - Commands that generate step-by-step solutions, such as the
*ShowSolution*command in the Student Calculus 1 package, can generate a canvas that is scripted in such a way that it will reveal solution steps in an animated fashion.

Learn more...

- New options in the
*FeynmanDiagrams*command handle the situations where you want to study scattering amplitudes without external legs normalization factors, use different gauge choices for the fields, or use a generic form of a propagator. - A new
*FeynmanIntegral*module evaluates the Feynman integrals that appear in the output of the*FeynmanDiagrams*command. - The simplification of products of Dirac matrices was improved.
- Significant improvements were made to the manipulation and simplification of expressions involving non-commutative tensor operators.
- You can compute derivatives and functional derivatives of spinor fields, and with respect to spinor fields.
- Improved information is displayed when you set a spacetime metric.

Learn more...

Learn more...

- New commands find the power spectral density of a signal, and compute the band power, mean frequency, and spectral entropy, either for the entire signal, or a specific frequency band.
- The
*PowerSpectrum*command now accepts signals (in addition to FFTs) and other new options. - The
*Welch*command estimates the power spectrum of a signal, while attenuating the effect of noise at the expense of frequency resolution. - The
*MUSIC*command performs the Multiple Signal Classifier (MUSIC) method on a signal, which estimates frequencies present in a noisy signal. - The new
*ShortTimeFourierTransform*command computes the short-time Fourier transform of a signal. - The new commands
*ShortTimeBandPower*,*ShortTimeMeanFrequency*, and*ShortTimeSpectralEntropy*compute the respective statistics for each short-time interval. - The new
*FilterFrequencyResponse*command determines the response of an FIR or IIR digital filter from taps. - The
*EquivalentNoiseBandwidth*command computes the equivalent-noise bandwidth of a window. - The new
*Hampel*command applies the Hampel filter to a 1-D signal to remove outliers from data. - The new
*IntegrateData*command is used to estimate the area beneath a 1-D signal. - The
*FindPeakPoints*command has been updated to include a new calling sequence, an option for specifying a maximum height, and an option for skipping sorting when the independent data are known to be sorted. - New commands
*RealToComplex*and*ComplexToReal*combine containers with the real and imaginary parts into a single container with the complex values, and decompose a container with complex values into separate containers with the real and imaginary parts. - The
*RootMeanSquare*command now supports multidimensional arrays, vectors, matrices, and lists when computing the root mean square. - The new
*RootMeanSquareError*and*RelativeRootMeanSquareError*commands are useful for quantifying errors. - The
*Mean*command now supports multidimensional containers and weights. - The
*Phase*command now includes an option for unwrapping the phases, so that there are no large jumps. - The
*SampleImage*command in the Image Tools package returns the requested image from a repository of sample images.

Learn more...

- A molecular dictionary provides a wealth of information about molecules.
- A new method for the ground and excited state of molecules further enhances the package's suite of electronic structure solvers.
- A new command for purifying density matrices has applications for the mitigation of errors in quantum computing,
- An optional parameter for the plotting of molecular orbitals allows for customized colors.
- Optional parameters for the generation of molecular integrals support arbitrary molecular orbitals and active spaces.
- The collection of built-in lessons for classroom learning in undergraduate-to-graduate chemistry and physics has been expanded, with a new lesson for Physical Chemistry and Undergraduate Quantum Mechanics on Vibrational Motion and the Harmonic Oscillator.
- The interactive Maplet interface for rapid exploration of a molecule and its properties has been improved.
- Numerous enhancements have been made to many methods and commands throughout the package.

Learn more...

The Deep Learning package offers a variety of new specialty forms of neural networks, including convolutional neural networks that are often used for tasks such as image and video recognition, and recurrent neural networks that are often used for text processing or classification. The package also includes new tools that allow you to build your own sophisticated special purpose neural networks by composing layers of different types.

Learn more...

- The
*map*command, along with related commands such as element-wise operators and*zip*, have been sped up significantly for common operations. In particular, there is a facility that recognizes some operations that are frequently mapped, and uses a faster implementation for these operations in cases when applicable. Many examples run between 10 and 60 times faster than before, and use much less memory. - The version of the GMP library used for large integer arithmetic by Maple has been upgraded to version 6.2.0, resulting in improved support for new hardware and performance improvements for various integer operations.
- The underlying algorithm for computing binomial coefficients has been greatly improved for integer inputs. For example, in the case where the second argument is large, some computations run a hundred times faster.
- The algorithm for computing multinomial coefficients in the Combinatorics package has been improved so that it is computed using the binomial command and thus is now much faster than the previous algorithm.
- Operations on numeric expressions in the Simple Units environment are much faster.
- A number of commands in the Graph Theory package perform faster in Maple 2021 compared to previous versions of Maple.
- The
*Project*command in the Polyhedral Sets package now uses a faster algorithm that checks for redundant constraints.

Learn more...

- You can now use multi-level break or next statements, where you specify which nested loop it is that you want to break out of early when the condition is met.
- The Document Tools package, which provides tools for creating documents and interactive applications programmatically, has been extended to include a new framework for Maple users to easily build applications where the number of required input fields is not known in advance.
- The Code Tools package includes new tools to help ensure you have good test coverage for the Maple code you write, and to report on test failures. It also has a new command that returns a list of all members of a module and its submodules.
- There is a new message passing style option for calling methods when using objects, and the built-in functions
*entries*,*indices*, and*xormap*now support being overloaded by objects. - New commands for logic involving sequences include
*xormap*,*andseq*,*orseq*, and*xorseq*. - The
*zip*command now supports new options, evalhf and inplace, which can increase speed and decrease memory use in certain situations. - The commands
*map*,*seq*,*select*,*remove*, and*selectremove*now each have three new options, fold, reduce, and scan, for combining the resulting expressions using a specified function. - The
*select*,*remove*, and*selectremove*commands can now use selecting functions where the operands from the expression can be any argument to the selecting function. - The
*seq*command has a new option that allows you to create evenly spaced sequences with the desired number of elements. - New commands in the Array Tools package include
*IsMonotonic*,*GeneralInnerProduct*,*GeneralOuterProduct*,*ScanAlongDimenension*, and*ReduceAlongDimension*. *DEQueue*provides a means to construct a double-ended queue, which supports efficiently adding and removing entries from both the front and the back.- The List Tools package includes new methods for splitting a list into sublists by slicing or dealing.
- The new Persistent Table package provides an easier way to work with an object that is backed by a file containing an SQLite table, where any information stored in the table persists when Maple is shut down or restarted.
- The DataFrameand DataSeries objects now support the entries and indices commands.
- In the Units package, the
*Split*command splits the coefficient from its unit. - There are additional calling sequences for using log functions with a specified base.
- The
*subs*command has a member option to limit substitutions to the top-level entries of a container. - The
*trace*command has a new option to limit the information shown during execution of a traced procedure to only procedure entry and exit. - An extension to
*evalhf*gives you the option of returning a hardware float instead of converting the result to software floating-point before returning. - You can now use the :: operator to assert a type on the control variable of a for loop.
- The exports command for retrieving exports from a module has new options for selecting the scope and specifying a type.

Learn more...

- Export is available for individual expressions or the entire document, though the
*latex*command, context menu operations, copying the expression to the clipboard using Copy As>LaTeX, and the File>Export As menu. - Input and output in the LaTeX documented are formatted using automatic line breaking.
- When the Maple document makes use of equation labels in the calculations and text, the exported document now also adds hyperlinks from those labels to the target equation.
- Many options are available so you can fine-tune the resulting LaTeX, including whether or not prompts should appear, how to display multiplication, which symbol to use for the imaginary unit, spacing after a square root symbol or function name, how to handle powers of trigonometric functions, and more.

Learn more...