Enhanced Packages - Maple Help

Home : Support : Online Help : System : Information : Updates : Maple 9.5 : Enhanced Packages

Enhanced Packages in Maple 9.5

 • For information on new Maple 9.5 packages, see New Packages in Maple 9.5.
 • Enhanced Packages in Maple 9.5 contains information for the following packages.

CodeGeneration

 The new CodeGeneration[Save] command allows user-contributed language definitions to be saved in a Maple archive without requiring that you save a copy of the CodeGeneration module.

DEtools and PDEtools

 In connection with important enhancements in the differential equation solvers dsolve and pdsolve (see Updates to Differential Equations (DE) Solvers in Maple 9.5), seven new commands with varied purposes - some of them based on original algorithms - are available in DEtools and PDEtools for this release. For a description of these new commands, see Updates to Differential Equations (DE) Solvers in Maple 9.5 (PDEtools).

Groebner Bases for Toric Ideals

 The new command Groebner[ToricIdealBasis] implements two algorithms to compute the reduced Groebner basis of a toric ideal.

LREtools

 Three new functions have been added to the LREtools package: AnalyticityConditions, dAlembertiansols, and IsDesingularizable.
 This command determines necessary conditions for the solution of a linear recurrence equation to be analytic, in terms of the initial values.
 Example:
 > LREtools[AnalyticityConditions](n*E-1,E,f(n));
 $\left\{{f}{}\left({0}\right){=}{0}\right\}$ (1)
 This command finds all d'Alembertian solutions of a linear recurrence equation, that is, solutions annihilated by a product of first order operators.
 Example:
 > rec := (-n-1)*a(n)+(3+2*n)*a(n+1)+(-n-2)*a(n+2)=1/(n+2):
 > LREtools[hypergeomsols](rec, a(n), {}, output=basis);
 > LREtools[dAlembertiansols](rec, a(n), {}, output=basis);
 $\left[\left[{1}{,}{\sum }_{{\mathrm{n1}}{=}{0}}^{{n}{-}{1}}{}\frac{{1}}{{\mathrm{n1}}{+}{1}}\right]{,}{-}\left({\sum }_{{\mathrm{n1}}{=}{0}}^{{n}{-}{1}}{}\frac{{\sum }_{{\mathrm{n2}}{=}{0}}^{{\mathrm{n1}}{-}{1}}{}\frac{{1}}{{\mathrm{n2}}{+}{2}}}{{\mathrm{n1}}{+}{1}}\right)\right]$ (2)
 This command finds a multiple $M$ of a given linear recurrence operator $L$, if possible, such that the leading or trailing coefficient of $M$ has no integer roots.
 Example:
 > LREtools[IsDesingularizable]((n-1)*E+n,E,n,trailing,output=operator);
 ${\mathrm{true}}{,}{{E}}^{{2}}{+}{2}{}{E}{+}{1}$ (3)

PolynomialTools

 Four new functions have been added to the PolynomialTools package: GcdFreeBasis, GreatestFactorialFactorization, ShiftEquivalent, and ShiftlessDecomposition.
 This command factors a given set of polynomials as far as possible by using only gcds. This can be used, for example, to refine several partial factorizations of the same polynomial.
 Example:
 The following is a way to compute the factors in the squarefree decomposition of a polynomial.
 > f := x^9-x^7-x^5+x^3;
 ${f}{≔}{{x}}^{{9}}{-}{{x}}^{{7}}{-}{{x}}^{{5}}{+}{{x}}^{{3}}$ (4)
 > PolynomialTools[GcdFreeBasis]([f, gcd(f,diff(f,x))]);
 $\left[{x}{,}{{x}}^{{2}}{-}{1}{,}{{x}}^{{2}}{+}{1}\right]$ (5)
 > sqrfree(f);
 $\left[{1}{,}\left[\left[{x}{,}{3}\right]{,}\left[{{x}}^{{2}}{+}{1}{,}{1}\right]{,}\left[{{x}}^{{2}}{-}{1}{,}{2}\right]\right]\right]$ (6)
 This command factors a univariate polynomial into a product of falling factorials in a unique way similar to the squarefree factorization.
 Example:
 > f := x^9-x^7-x^5+x^3;
 ${f}{≔}{{x}}^{{9}}{-}{{x}}^{{7}}{-}{{x}}^{{5}}{+}{{x}}^{{3}}$ (7)
 > PolynomialTools[GreatestFactorialFactorization](f,x);
 $\left[{1}{,}\left[\left[{x}{}\left({{x}}^{{2}}{+}{1}\right){,}{1}\right]{,}\left[{{x}}^{{2}}{+}{2}{}{x}{+}{1}{,}{3}\right]\right]\right]$ (8)
 This command determines whether a univariate polynomial is a Taylor shift of another polynomial, and if so, returns the shift distance.
 Examples:
 > PolynomialTools[ShiftEquivalent](2*x+1,2*x+2,x);
 $\frac{{1}}{{2}}$ (9)
 > PolynomialTools[ShiftEquivalent](2*x+1,2*x+2,x,'integer');
 ${\mathrm{FAIL}}$ (10)
 > PolynomialTools[ShiftEquivalent](2*x+1,2*x+5,x,'integer');
 ${2}$ (11)
 > PolynomialTools[ShiftEquivalent](x^2-1,x^2+1,x);
 ${\mathrm{FAIL}}$ (12)
 This command computes the coarsest factorization of a univariate polynomial separating the irreducible factors both by their multiplicities and their shift equivalence classes.
 Example:
 > f := x^9-x^7-x^5+x^3;
 ${f}{≔}{{x}}^{{9}}{-}{{x}}^{{7}}{-}{{x}}^{{5}}{+}{{x}}^{{3}}$ (13)
 > PolynomialTools[ShiftlessDecomposition](f,x);
 $\left[{1}{,}\left[\left[{x}{-}{1}{,}\left[\left[{0}{,}{2}\right]{,}\left[{1}{,}{3}\right]{,}\left[{2}{,}{2}\right]\right]\right]{,}\left[{{x}}^{{2}}{+}{1}{,}\left[\left[{0}{,}{1}\right]\right]\right]\right]\right]$ (14)

QDifferenceEquations

 This package has been extended by four new functions.
 • QDifferenceEquations[AccurateQSummation] implements the method of accurate q-summation
 • QDifferenceEquations[ExtendSeries] computes series solutions of a linear q-difference equation
 • QDifferenceEquations[QHypergeometricSolution] finds all q-hypergeometric solutions of a given linear q-difference equation
 • QDifferenceEquations[SeriesSolution] computes series solutions of a linear q-difference equation

New SolveTools Inequality Submodule

 The SolveTools[Inequality] submodule is intended for solving systems of inequalities. It exports three new procedures.
 • SolveTools[Inequality][LinearUnivariate] solves a linear inequality with respect to one variable
 • SolveTools[Inequality][LinearUnivariateSystem] solves a system of linear inequalities with respect to one variable
 • SolveTools[Inequality][LinearMultivariateSystem] for solving systems of linear inequalities

StringTools Package

StringTools[Length]

 • The StringTools package includes the new Length command that returns the length of a string.

StringTools[MaximalPalindromicSubstring]

 • The new MaximalPalindromicSubstring command that finds a maximal substring that is equal to itself reversed.

StringTools[Randomize]

 • You can use the new StringTools[Randomize] command to seed the random number generator used by the external code underlying the StringTools package.

Student Package

General Enhancements

 Most interactive tutors in the Student package now include a field that shows the non-tutor command, which can be used to produce the same result in the worksheet. This can be used as a starting point for further exploration.

Student[Precalculus]

 The Student[Precalculus] package has the addition of non-tutor commands in allowing exploration of concepts in greater depth.  The basic Line command computes lines from various different forms of input and returns information about slope and intercepts, as well as the line itself.

SumTools[Hypergeometric]

 • Two new commands have been implemented in this package: SumTools[Hypergeometric][EfficientRepresentation] and SumTools[Hypergeometric][RegularGammaForm].
 • The two commands SumTools[Hypergeometric][RationalCanonicalForm] and SumTools[Hypergeometric][MultiplicativeDecomposition] have been extended by the third'' and the fourth'' normal forms.

New Options to ToInert

 • The ToInert command for converting to an inert representation of a Maple object has been extended to allow for finer control over what objects need to be converted.  Addition of exclude and include options let you specify exactly which objects to exclude or convert.

parse

 • The parse command accepts optional offset and lastread parameters, which make it possible to parse a string containing multiple Maple commands.