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 Differential Equation packages: DEtools, PDEtools, and diffalg
Groebner Bases for Toric Ideals
LREtools
PolynomialTools
QDifferenceEquations
SolveTools
StringTools
Student
SumTools
ToInert Options
parse
DEtools and PDEtools
New SolveTools Inequality Submodule
StringTools Package
Student Package
SumTools[Hypergeometric]
New Options to ToInert
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.
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).
The new command Groebner[ToricIdealBasis] implements two algorithms to compute the reduced Groebner basis of a toric ideal.
Three new functions have been added to the LREtools package: AnalyticityConditions, dAlembertiansols, and IsDesingularizable.
LREtools[AnalyticityConditions]
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));
f⁡0=0
LREtools[dAlembertiansols]
This command finds all d'Alembertian solutions of a linear recurrence equation, that is, solutions annihilated by a product of first order operators.
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);
1,∑n1=0n−1⁡1n1+1,−∑n1=0n−1⁡∑n2=0n1−1⁡1n2+2n1+1
LREtools[IsDesingularizable]
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.
LREtools[IsDesingularizable]((n-1)*E+n,E,n,trailing,output=operator);
true,E2+2⁢E+1
Four new functions have been added to the PolynomialTools package: GcdFreeBasis, GreatestFactorialFactorization, ShiftEquivalent, and ShiftlessDecomposition.
PolynomialTools[GcdFreeBasis]
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.
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≔x9−x7−x5+x3
PolynomialTools[GcdFreeBasis]([f, gcd(f,diff(f,x))]);
x,x2−1,x2+1
sqrfree(f);
1,x,3,x2+1,1,x2−1,2
PolynomialTools[GreatestFactorialFactorization]
This command factors a univariate polynomial into a product of falling factorials in a unique way similar to the squarefree factorization.
PolynomialTools[GreatestFactorialFactorization](f,x);
1,x⁢x2+1,1,x2+2⁢x+1,3
PolynomialTools[ShiftEquivalent]
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);
12
PolynomialTools[ShiftEquivalent](2*x+1,2*x+2,x,'integer');
FAIL
PolynomialTools[ShiftEquivalent](2*x+1,2*x+5,x,'integer');
2
PolynomialTools[ShiftEquivalent](x^2-1,x^2+1,x);
PolynomialTools[ShiftlessDecomposition]
This command computes the coarsest factorization of a univariate polynomial separating the irreducible factors both by their multiplicities and their shift equivalence classes.
PolynomialTools[ShiftlessDecomposition](f,x);
1,x−1,0,2,1,3,2,2,x2+1,0,1
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
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[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.
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.
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.
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.
The parse command accepts optional offset and lastread parameters, which make it possible to parse a string containing multiple Maple commands.
See Also
Index of New Maple 9.5 Features
with
Download Help Document