Maple 17 is the result of many thousands of hours of work by world-class mathematicians at Maplesoft as well as experts in research labs and universities all around the world. Maple 17 offers numerous advancements in a variety of branches of mathematics that push the frontiers of mathematical knowledge and Maple’s capabilities.
Details and Examples
The limit command has been enhanced for the case of limits of bivariate rational functions. Many such limits that could not be determined previously are now computable. The new algorithm specifically handles the case where the function has an isolated singularity at the limit point.
In Maple 16, the following limit calls would return unevaluated, but they can be computed in Maple 17:
Let us plot these three functions in the neighborhood of the origin:
In the last two examples, we can visually verify the existence of the limit.
In the first example, by inspecting the graph we can identify two different directions with different limits, namely and . Indeed:
How does Maple determine these limits? Let us consider a circle given by , where we will later let . Using the theory of Lagrange multipliers, the extremal values (maxima and minima) of the function on the circle, for a fixed radius , satisfy the condition that the gradient of the function and the gradient of the constraint equation of the circle are parallel:
Thus, the maximal and minimal values of on occur when both and For the bivariate limit, this means that it is sufficient to consider only those critical paths satisfying . In the example, there are two such paths, namely, and , and indeed they are exactly the same two paths from above leading to the extremal values and . Since we have found two directions with different limits, we can conclude that the bivariate limit does not exist.
The following graph depicts both critical paths in the -plane:
Note that the critical paths are not necessarily always lines. For example, in the second example above:
In fact, we can give nonlinear closed form expressions for the critical paths:
In our example, the limits along all of the critical paths are identical:
This is a proof that the bivariate limit of at the origin exists and is equal to .
The following graph depicts the function as well as all of the critical paths:
The FunctionAdvisor can now compute, algebraically, branch cuts (discontinuities) of mathematical expressions involving compositions of +, *, ^, and possibly fractional powers, with every mathematical function call for which FunctionAdvisor knows the branch cuts, with no restrictions to the level of nesting in the expression. This new feature includes the ability to generate 2-D and 3-D plots of the cuts, so as to view where the cuts are located and how the function evolves from one cut to another one.
A new class of ordinary differential equations of Abel type, with non-constant invariants and depending on two arbitrary parameters, is now fully solvable in Maple 17. Additionally, a large number of changes were added to the routines for tackling ordinary and partial differential equations.
Ordinary differential equation
For 1st order ODEs, the simplest problem beyond the reach of complete solving algorithms is known as Abel equations. These are equations of the form
where is the unknown and the and are arbitrary functions of . The biggest subclass of Abel equations known to be solvable was discovered by our research team and is the AIR 4-parameter class. New in Maple 17, another 2-parameter class of Abel equations, beyond the AIR class, is now known and solvable.
The related class of Abel equations that is now entirely solvable consists of the set of equations that can be obtained from equation above by changing variables
where and the four are arbitrary rational functions of ; this is the most general rational transformation that preserves the form of Abel equations and thus generates Abel ODE classes.
Several changes were performed in the existing algorithms to optimize their functioning, resulting in new solutions for problems that were out of reach in previous releases.
Partial differential equations
Changes were done in the existing algorithms for linear and nonlinear PDEs and systems of them, resulting in new solutions for more PDE problems.
Maple 17 has significant improvements to several GraphTheory commands, including:
In addition, two new commands were added to the package:
The TuttePolynomial command uses a new algorithm that is faster and consumes less memory.
For example, computation of the Tutte polynomial of the 12 vertex complete graph (CompleteGraph(12)) now requires 1/3 the memory, and completes in 1/3 the time.
For the 9,3 generalized Petersen graph (PetersenGraph(9,3)) the memory usage has dropped to 1/6, and the time to 1/8 of the time needed in Maple 16.
These improvements propagate to the commands ChromaticPolynomial, FlowPolynomial, AcyclicPolynomial and RankPolynomial as well.
The IsIsomorphic command now utilizes a new algorithm that scales better to larger problems. As an example, two isomorphic soccer ball graphs (SpecialGraphs[SoccerBallGraph]) with 60 vertices and 90 edges can be tested for isomorphism in less than one second in Maple 17, while in Maple 16 and earlier, this same computation did not complete in under 10 minutes.
The new LaplacianMatrix command can be used to compute the Laplacian matrix representation of a graph:
The new ReliabilityPolynomial command can be used to compute the reliability polynomial of a graph:
For Maple17, a new command, intersectcurves, has been added to the algcurves package.
The LinearSolve command in the RegularChains package, whose purpose is to solve systems of linear equations and inequalities, has been enhanced in several ways:
The examples below illustrate the use of this command and the two new options for computations with polyhedra.
Change of representation for polyhedra
There are at least two ways to mathematically describe a polyhedron, either by specifying its corners, or by specifying its bounding hyperplanes. We start by illustrating this using a cube of side length 1 with one corner at the origin and its three adjacent edges parallel to the three coordinate axes.
The SolveTools[SemiAlgebraic] command has been integrated directly into the solve command, such that many systems involving non-linear polynomial inequalities that could not be solved previously, are solved.
In Maple 16, no solutions were found for the following system, but in Maple 17 it is easily solved:
New functionality has been added to the solve command to account for branch cuts in the input equations and build piecewise expressions that are correct for substitution of parameters. This functionality is controlled with the new option symbolic = false;. The default behavior in Maple 17 and previous versions of Maple, is the same as specifying symbolic = true;.