New and Enhanced Packages in Maple 13Maple 13 contains the following new packages and enhancements to existing packages.New PackagesDifferentialGeometry[Tensor] packageStudent[NumericalAnalysis] packageEnhanced Packagesalgcurves packageCAD packagecombinat packageDEtools packageGraphTheory packageLinearAlgebra packageLinearFunctionalSystems packagenumtheory packagePDEtools packageRegularChains packageSlode packageStudent[Calculus1] packageDifferentialGeometry[Tensor]Student[NumericalAnalysis]algcurvesCAD ConnectivitycombinatDEtoolsGraphTheoryLinearAlgebraLinearFunctionalSystemsnumtheoryPDEtoolsRegularChainsSlodeStudent[Calculus1]

<Text-field style="Heading 2" layout="Heading 2" bookmark="Tensor">DifferentialGeometry[Tensor]</Text-field>A complete and new Tensor package for computing tensors in the framework of Differential Geometry has been added to the DifferentialGeometry package.
<Text-field style="Heading 2" layout="Heading 2" bookmark="numericalanalysis">Student[NumericalAnalysis]</Text-field>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.For more information on Student[NumericalAnalysis], see Student[NumericalAnalysis].
<Text-field style="Heading 2" layout="Heading 2" bookmark="algcurves">algcurves</Text-field>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;algcurves[algfun_series_sol](f,x=4,y,'coeffs'='dAlembertian');
<Text-field style="Heading 2" layout="Heading 2" bookmark="CAD">CAD Connectivity</Text-field>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.
<Text-field style="Heading 2" layout="Heading 2" bookmark="combinat">combinat</Text-field>The combinat package contains two new commands, eulerian1 and eulerian2, the Eulerian numbers of first and second order.
<Text-field style="Heading 2" layout="Heading 2" bookmark="DEtools">DEtools</Text-field>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.
<Text-field style="Heading 2" layout="Heading 2" bookmark="graphtheory">GraphTheory</Text-field>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).
<Text-field style="Heading 2" layout="Heading 2" bookmark="LinearAlgebra">LinearAlgebra</Text-field>A new thin option to SingularValues produces a result with only NiMtSSRtaW5HSSpwcm90ZWN0ZWRHRiU2JEkibUc2IkkibkdGKA== 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 NiMvLCYtSSIuRzYkSSpwcm90ZWN0ZWRHRihJKF9zeXNsaWJHNiI2JEkiQUdGKkkiWEdGKiIiIi1GJjYkRi1JIkJHRipGLkkiQ0dGKg== as well as continuous Lyapunov systems of the form LUklbXJvd0c2JEkqcHJvdGVjdGVkR0YlL0krbW9kdWxlbmFtZUc2IkksVHlwZXNldHRpbmdHNiRGJUkoX3N5c2xpYkdGKDYrLUkjbWlHNiRGJS9GJ0YpNiNRIkFGKC1JI21vRzYkRiUvRidGKTYjUSkmcGVyaW9kO0YoLUYuNiNRIlhGKC1GNDYjUScmcGx1cztGKEY5RjMtSSVtc3VwRzYkRiUvRidGKTYkRi0tRjQ2I1EmJmFzdDtGKC1GNDYjUSkmZXF1YWxzO0YoLUYuNiNRIkNGKA==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;
<Text-field style="Heading 2" layout="Heading 2" bookmark="lfs">LinearFunctionalSystems</Text-field>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 NiMiIiE=.In the NiNJInFHNiI=-difference case, the commands PolynomialSolution and RationalSolution can now handle systems where NiNJInFHNiI= is a number instead of a variable, for example, NiMvSSJxRzYiIiIj.vars := [y1(x), y2(x)]:sys1 := [diff(y1(x),x)*x=y2(x), diff(y2(x),x)=0];LinearFunctionalSystems[LogarithmicSolution](sys1, vars);sys2 := [x*(x+3)*(2*x+3)*y1(x+1) - (x+2)*(x-1)*(2*x-1)*y2(x), y2(x+1) - y1(x)];LinearFunctionalSystems[UniversalDenominator](sys2, vars);LinearFunctionalSystems[UniversalDenominator](sys2, vars, 'refined'=true);
<Text-field style="Heading 2" layout="Heading 2" bookmark="numtheory">numtheory</Text-field>The numtheory package contains a new command, ithrational, which computes the NiNJImlHNiI=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, ... .
<Text-field style="Heading 2" layout="Heading 2" bookmark="PDEtools">PDEtools</Text-field>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).
<Text-field style="Heading 2" layout="Heading 2" bookmark="RegularChains">RegularChains</Text-field>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.
<Text-field style="Heading 2" layout="Heading 2" bookmark="Slode">Slode</Text-field>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);ode := (x-1)*diff(y(x), x)-(x-2)*y(x);candidate_points(ode,y(x),'type'='hypergeometric');candidate_points(ode,y(x),'type'='dAlembertian');dAlembertian_series_sol(ode, y(x), x=-1, 'outputHGT'='active');hypergeom_series_sol(ode, y(x), x=1);hypergeom_series_sol(ode=1, y(x));unwith(Slode):
<Text-field style="Heading 2" layout="Heading 2" bookmark="Student[Calculus1]">Student[Calculus1]</Text-field>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.