Packages - Maple Help

New and Enhanced Packages in Maple 13

Maple 13 contains the following new packages and enhancements to existing packages.

New Packages

Enhanced Packages

 DifferentialGeometry[Tensor] A complete and new Tensor package for computing tensors in the framework of Differential Geometry has been added to the DifferentialGeometry package.

Student[NumericalAnalysis]

The Student[NumericalAnalysis] package assists with the teaching and learning of numerical analysis.

 • Interactive tutors are provided to further the understanding of numerical analysis and to allow select commands from the Student[NumericalAnalysis] package to be used in a comprehensive and straightforward manner.

algcurves

A new option, dAlembertian, was added to the algfun_series_sol command in the algcurves package. It allows the computation of Puiseux series expansions with d'Alembertian coefficients for an algebraic function. For details, see algfun_series_sol.

 > f := x*y^2-1-2*y-y^2;
 ${f}{≔}{x}{}{{y}}^{{2}}{-}{{y}}^{{2}}{-}{2}{}{y}{-}{1}$ (1)
 > algcurves[algfun_series_sol](f,x=4,y,'coeffs'='dAlembertian');
 $\left\{{-}\frac{{\sum }_{{\mathrm{_n}}{=}{0}}^{{\mathrm{\infty }}}{}{\left({-1}\right)}^{{\mathrm{_n}}}{}{{3}}^{{-}{\mathrm{_n}}}{}\left({4}{}\sqrt{{\mathrm{\pi }}}{-}\left({\sum }_{{\mathrm{_n1}}{=}{0}}^{{\mathrm{_n}}{-}{1}}{}\frac{{{3}}^{{\mathrm{_n1}}{+}{1}}{}{{4}}^{{-}{\mathrm{_n1}}}{}{\mathrm{\Gamma }}{}\left({\mathrm{_n1}}{+}\frac{{1}}{{2}}\right)}{{\mathrm{\Gamma }}{}\left({\mathrm{_n1}}{+}{2}\right)}\right)\right){}{\left({x}{-}{4}\right)}^{{\mathrm{_n}}}}{{12}{}\sqrt{{\mathrm{\pi }}}}{,}\frac{{\sum }_{{\mathrm{_n}}{=}{0}}^{{\mathrm{\infty }}}{}{\left({-1}\right)}^{{\mathrm{_n}}}{}{{3}}^{{-}{\mathrm{_n}}}{}\left({-}\left({\sum }_{{\mathrm{_n1}}{=}{0}}^{{\mathrm{_n}}{-}{1}}{}\frac{{{3}}^{{\mathrm{_n1}}{+}{1}}{}{{4}}^{{-}{\mathrm{_n1}}}{}{\mathrm{\Gamma }}{}\left({\mathrm{_n1}}{+}\frac{{1}}{{2}}\right)}{{\mathrm{\Gamma }}{}\left({\mathrm{_n1}}{+}{2}\right)}\right){+}{12}{}\sqrt{{\mathrm{\pi }}}\right){}{\left({x}{-}{4}\right)}^{{\mathrm{_n}}}}{{12}{}\sqrt{{\mathrm{\pi }}}}\right\}$ (2)
 CAD Connectivity The CAD package, introduced in Maple 12, has been updated to include connectivity with NX. This package includes commands to get or set the parameter values of a design. See CAD[NX] for more information on connectivity with NX and a list of available commands.
 combinat The combinat package contains two new commands, eulerian1 and eulerian2, the Eulerian numbers of first and second order.

DEtools

 • A new command, IVPsol, has been added to the DEtools package, with the purpose of adjusting a given general ODE solution to given initial or boundary conditions.
 • Two other commands, particularsol and parametricsol, can now solve a wide range of new problems by combining the standard methods for those problems with alternative ways of using symmetry methods.

GraphTheory

 • The GraphTheory package contains several new commands, namely IsIsomorphic (isomorphism detection), NonIsomorphicGraphs (generation of isomorphically unique graphs), GraphNormal (normalization of graphs), DrawPlanar (planar graph visualization routine), BellmanFordAlgorithm (shortest path algorithm for weighted graphs), OddGirth, and PlaneDual.
 • The GraphTheory[SpecialGraphs] subpackage contains many new special graphs, namely CageGraph, CoxeterGraph, GeneralizedBlanusaSnark, GeneralizedHexagonGraph, HoffmanSingletonGraph, McGeeGraph, RobertsonGraph, and Tutte8CageGraph.
 • Additionally, several commands have been enhanced or had their efficiency improved, namely ImportGraph, ExportGraph (both extended to handle sparse6, graph6, and dot formats), MinimalSpanningTree (now optionally generates an animation), and AdjacencyMatrix and AllPairsDistance (efficiency improvements for large graphs).

LinearAlgebra

 • A new thin option to SingularValues produces a result with only $\mathrm{min}\left(m,n\right)$ right and left singular vectors for an m by n size Matrix.
 • New SylvesterSolve and LyapunovSolve routines in the LinearAlgebra package provide the functionality to solve Sylvester linear systems of the form $A·X+X·B=C$ as well as continuous Lyapunov systems of the form $A.X+X.{A}^{*}=C$
 • The commands LinearAlgebra[LinearSolve] and LinearAlgebra[Modular][IntegerLinearSolve] now use a new default algorithm, the dense p-adic lift, which will be faster on most inputs. The old algorithm, which uses the Chinese Remainder Theorem, is still accessible via the option method=chrem. As an example, the following linear system can be solved about 70% faster:
 > A := LinearAlgebra:-RandomMatrix(400,401):
 > tt := time():
 > LinearAlgebra:-Modular:-IntegerLinearSolve(A,400):
 > time()-tt;
 ${3.103}$ (3)

LinearFunctionalSystems

 • A new function, LogarithmicSolution for computing logarithmic solutions of a differential system with polynomial coefficients, was added. For more details, see LogarithmicSolution.
 • The UniversalDenominator command has a new option, refined. If this option is set to true, then the universal denominator is computed for each equation of the input system individually instead of globally for the whole system.
 • The RegularSolution command has a new option, point, that allows specifying an expansion point different from $0$.
 • In the $q$-difference case, the commands PolynomialSolution and RationalSolution can now handle systems where $q$ is a number instead of a variable, for example, $q=2$.
 > vars := [y1(x), y2(x)]:
 > sys1 := [diff(y1(x),x)*x=y2(x), diff(y2(x),x)=0];
 ${\mathrm{sys1}}{≔}\left[\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{\mathrm{y1}}{}\left({x}\right)\right){}{x}{=}{\mathrm{y2}}{}\left({x}\right){,}\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{\mathrm{y2}}{}\left({x}\right){=}{0}\right]$ (4)
 > LinearFunctionalSystems[LogarithmicSolution](sys1, vars);
 $\left[{\mathrm{ln}}{}\left({x}\right){}{{\mathrm{_c}}}_{{1}}{+}{{\mathrm{_c}}}_{{2}}{,}{{\mathrm{_c}}}_{{1}}\right]$ (5)
 > sys2 := [x*(x+3)*(2*x+3)*y1(x+1) - (x+2)*(x-1)*(2*x-1)*y2(x), y2(x+1) - y1(x)];
 ${\mathrm{sys2}}{≔}\left[{x}{}\left({x}{+}{3}\right){}\left({2}{}{x}{+}{3}\right){}{\mathrm{y1}}{}\left({x}{+}{1}\right){-}\left({x}{+}{2}\right){}\left({x}{-}{1}\right){}\left({2}{}{x}{-}{1}\right){}{\mathrm{y2}}{}\left({x}\right){,}{\mathrm{y2}}{}\left({x}{+}{1}\right){-}{\mathrm{y1}}{}\left({x}\right)\right]$ (6)
 > LinearFunctionalSystems[UniversalDenominator](sys2, vars);
 $\frac{{1}}{\left({x}{+}{2}\right){}\left({x}{+}{1}\right){}{x}{}\left({x}{-}{1}\right){}\left({2}{}{x}{+}{1}\right){}\left({2}{}{x}{-}{1}\right)}$ (7)
 > LinearFunctionalSystems[UniversalDenominator](sys2, vars, 'refined'=true);
 $\frac{{1}}{{x}{}\left({x}{+}{2}\right){}\left({2}{}{x}{+}{1}\right)}{,}\frac{{1}}{\left({x}{-}{1}\right){}\left({x}{+}{1}\right){}\left({2}{}{x}{-}{1}\right)}$ (8)
 numtheory The numtheory package contains a new command, ithrational, which computes the $i$th rational number. This function generates all positive rational numbers in a non-repeating sequence: 0, 1, 1/2, 2, 1/3, 3/2, 2/3, 3, 1/4, 4/3, 3/5, ... .

PDEtools

 • Four new commands were added to PDEtools: CharacteristicQInvariants, ConsistencyTest, PolynomialSolutions, and SymmetrySolutions. As their names suggest, the new commands can perform fast consistency tests, compute polynomial solutions for PDE systems, transform given solutions into other different solutions exploring the symmetries of the problem, and can compute invariants of differential equation systems using a simpler approach, exploring the CharacteristicQ function of the system's symmetries.
 • Important new functionality has also been added to casesplit and dpolyform, which can now compute with arbitrary functions of algebraic expressions (not just symbol variables).

RegularChains

 • The RegularChains package has been considerably extended by new commands handling real roots and semi-algebraic sets, as well as new asymptotically fast algorithms in positive characteristic. Moreover, existing functionality for parametric systems and constructible sets has been improved.
 • There are two new subpackages:
 – FastArithmeticTools contains a collection of commands for computing with regular chains in prime characteristic using asymptotically fast algorithms.
 – SemiAlgebraicSetTools contains a collection of commands for isolating and counting real roots of zero-dimensional regular chains, performing partial cylindrical algebraic decomposition, and sampling and inspecting functions on semi-algebraic sets.
 • More support for constructible sets was added to the ConstructibleSetTools and ParametricSystemTools subpackages:
 – The new RationalMapImage and RationalMapPreimage commands in the ConstructibleSetTools subpackage compute the image and preimage of a constructible set under a rational map, respectively.
 – The existing commands Projection, PolynomialMapImage, and PolynomialMapPreimage in the ConstructibleSetTools subpackage were extended to handle a constructible set as input.
 – The ComprehensiveTriangularize command in the ParametricSystemTools subpackage was extended to handle a constructible set as input.
 • The ParametricSystemTools subpackage has four new commands:
 – The BorderPolynomial command computes a polynomial whose roots comprise all non-generic parameter values of a parametric semi-algebraic set.
 – The ComplexRootClassification command counts the number of distinct complex roots of a parametric polynomial system.
 – The DiscriminantSequence command computes the discriminant sequence of a parametric univariate polynomial.
 – The RealRootClassification command computes conditions on the parameters that must be satisfied for a parametric semi-algebraic set in order to have a specified number of distinct real solutions.
 • The new IsPrimitive command in the ChainTools package checks whether a regular chain is primitive.
 • The Triangularize command has been extended so that the option radical=yes can be used in conjunction with the option output=lazard or with the normalization options.

Slode

 • A new command, dAlembertian_series_sol, was added to the Slode package. It computes power series solutions with d'Alembertian coefficients for a homogeneous linear differential equation with polynomial coefficients. For more details, see dAlembertian_series_sol.
 • A new option, dAlembertian, was added to the candidate_points command. It allows the computation of points at which power series solutions with d'Alembertian coefficients exist. For more details, see candidate_points.
 • The commands candidate_points, FPseries, FTseries, hypergeom_series_sol, polynomial_series_sol, and rational_series_sol now accept inhomogeneous linear differential equations with polynomial coefficients and a right-hand side that is either rational or a power series. For more details, see the help page for the corresponding command.
 • The optional arguments for all commands in the Slode package can now be specified in the form keyword=value.
 • The Slode package was converted into a module and therefore can be unloaded using the unwith command.

Examples:

 > with(Slode);
 $\left[{\mathrm{DEdetermine}}{,}{\mathrm{FPseries}}{,}{\mathrm{FTseries}}{,}{\mathrm{candidate_mpoints}}{,}{\mathrm{candidate_points}}{,}{\mathrm{dAlembertian_formal_sol}}{,}{\mathrm{dAlembertian_series_sol}}{,}{\mathrm{hypergeom_formal_sol}}{,}{\mathrm{hypergeom_series_sol}}{,}{\mathrm{mhypergeom_formal_sol}}{,}{\mathrm{mhypergeom_series_sol}}{,}{\mathrm{msparse_series_sol}}{,}{\mathrm{polynomial_series_sol}}{,}{\mathrm{rational_series_sol}}{,}{\mathrm{series_by_leastsquare}}\right]$ (9)
 > ode := (x-1)*diff(y(x), x)-(x-2)*y(x);
 ${\mathrm{ode}}{≔}\left({x}{-}{1}\right){}\left(\frac{{ⅆ}}{{ⅆ}{x}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{y}{}\left({x}\right)\right){-}\left({x}{-}{2}\right){}{y}{}\left({x}\right)$ (10)
 > candidate_points(ode,y(x),'type'='hypergeometric');
 $\left\{{1}\right\}$ (11)
 > candidate_points(ode,y(x),'type'='dAlembertian');
 $\left\{{1}{,}{\mathrm{any_ordinary_point}}\right\}$ (12)
 > dAlembertian_series_sol(ode, y(x), x=-1, 'outputHGT'='active');
 $\left(\left({\sum }_{{\mathrm{_n}}{=}{0}}^{{\mathrm{\infty }}}{}\frac{{\left(\frac{{1}}{{2}}\right)}^{{\mathrm{_n}}}{}{\mathrm{\Gamma }}{}\left({\mathrm{_n}}{+}{1}\right){}{\left({x}{+}{1}\right)}^{{\mathrm{_n}}}}{{\mathrm{_n}}{!}}\right){+}{2}{}\left({\sum }_{{\mathrm{_n}}{=}{0}}^{{\mathrm{\infty }}}{}\frac{{\left(\frac{{1}}{{2}}\right)}^{{\mathrm{_n}}}{}{\mathrm{\Gamma }}{}\left({\mathrm{_n}}{+}{1}\right){}\left({\sum }_{{\mathrm{_n1}}{=}{0}}^{{\mathrm{_n}}{-}{1}}{}\frac{{{2}}^{{\mathrm{_n1}}}}{\left({\mathrm{_n1}}{+}{1}\right){}{\mathrm{\Gamma }}{}\left({\mathrm{_n1}}{+}{1}\right)}\right){}{\left({x}{+}{1}\right)}^{{\mathrm{_n}}}}{{\mathrm{_n}}{!}}\right)\right){}{{\mathrm{_C}}}_{{0}}$ (13)
 > hypergeom_series_sol(ode, y(x), x=1);
 > hypergeom_series_sol(ode=1, y(x));
 $\left\{{\sum }_{{\mathrm{_n}}{=}{0}}^{{\mathrm{\infty }}}{}\frac{{\left({x}{-}{1}\right)}^{{\mathrm{_n}}}}{{\mathrm{\Gamma }}{}\left({\mathrm{_n}}{+}{2}\right)}{,}{\sum }_{{\mathrm{_n}}{=}{0}}^{{\mathrm{\infty }}}{}\frac{{\mathrm{\Gamma }}{}\left({\mathrm{_n}}{+}{1}\right){}{{x}}^{{\mathrm{_n}}}}{{\mathrm{_n}}{!}}\right\}$ (14)
 > unwith(Slode):
 Student[Calculus1] A new command, ShowSolution, has been added to the Student[Calculus1] package. This command shows the complete solution of a single variable limit, differentiation, or integration problem, including showing the rules or methods applied at each step. The ShowSteps command has also been enhanced to display the rules or methods applied. See ShowSolution and ShowSteps for details and examples.