Improvements to Existing Packages in Maple V Release 5
Improvements have been made to packages that existed in previous releases of Maple V. A brief description of these improvements follows.
Linear Algebra package (linalg)
Combinatorial structures package (combstruct)
Differential Equations Tools package (DEtools)
Linear Recurrence Equations Tools package (LREtools)
Geometry package (geometry)
Integral Transforms package (inttrans)
Approximation package (numapprox)
Number Theory package (numtheory)
Student package (student)
Plotting and Plotting tools packages (plots, plottools)
Maple Hacker's package (hackware)
The Linear Algebra package now has performance improvements for floating point kernel computations.
The following commands have been modified to work in any coordinate system in 2 dimensions - this only worked in 3 dimensions in Release 4.
diverge - Compute the divergence of a vector function
grad - Compute the vector gradient of an expression
laplacian - Compute the Laplacian of an expression
e := x^2 + y^3 - sin( z );
e≔x2+y3−sin⁡z
linalg[ 'laplacian' ]( e, [ x, y, z ], coords = spherical );
6⁢x2⁢sin⁡y+3⁢cos⁡y⁢y2+6⁢sin⁡y⁢y+sin⁡zsin⁡yx2⁢sin⁡y
The Combinatorial structures package has been expanded. New generating function capabilities have been added:
gfeqns - Find the system of generating function equations associated with a grammar
gfseries - Return the series of the generating functions associated with a grammar
gfsolve - Solve the system of generating functions associated with a grammar
See the combstruct example worksheet for more information on using this package.
The DEtools package has been significantly expanded and enhanced in this release. More functionality has been added:
abelsol - Find solutions of a first order Abel ODE
adjoint - Find the adjoint of a differential operator
bernoullisol - Find solutions of a Bernoulli first order ODE
buisym - Build the symmetry generator given a solution of an ODE
canoni - Look for a pair of canonical coordinates or for an integrating factor
clairautsol - Find solutions of a Clairaut first order ODE
constcoeffsols - Find solutions of a linear constant coefficient ODE
DFactor - Factor a linear differential operator
de2diffop - Convert a differential equation to a differential operator
diffop2de - Convert a differential operator to a differential equation
eigenring - Find the endomorphisms of the solution space
equinv - Look for the most general ODE invariant under a given symmetry
eta_k - Evaluates the k prolongation of the infinitesimals of a 1-parameter Lie group
eulersols - Find solutions of an Euler type of linear ODE
exactsol - Find exact solutions of a first order ODE
expsols - Find exponential solutions of a linear ODE
exterior_power - Find the exterior power of a differential operator
formal_sol - Generate formal solutions of a homogeneous linear differential equation
GCRD - Identify the Greatest Common Right Divisor of two differential operators
gen_exp - Find the generalized exponents of a linear homogeneous differential equation
genhomosol - Find solutions of a homogeneous first order ODE
infgen - Evaluates the k extension of the infinitesimal generator of a 1-parameter Lie group
integrate_sols - Integrate the solutions of a differential operator or equation
intfactor - Look for a pair of canonical coordinates or for an integrating factor
kovacicsols - Find solutions of a second order linear ODE
LCLM - Calculate Least Common Left Multiple of differential operators
leftdivision - Perform left-hand division on differential operators
linearsol - Find solutions of a first order linear ODE
line_int - Solve for a line integral, given its partial derivatives
matrixDE - Find solutions of a linear system of ODEs in matrix form
matrix_riccati - Solve a Matrix Riccati differential equation
moser_reduce - Generate the moser-irreducible form of a linear differential system
mult - Multiply differential operators
newton_polygon - Find the Newton polygon of a linear ODE
odeadvisor - Analyzer and solving advisor for first and second order ODEs
odepde - Returns the PDE for the coefficients of the symmetry generator
Poincare - Work with subpackage for visualization of Hamiltonians
hamilton_eqs - Generate Hamilton's equations, given a Hamiltonian
generate_ic - Generate a set of lists of initial conditions for plotting a 2PS/3PS
polysols - Find polynomial solutions of a linear ODE
ratsols - Find rational function solutions of a linear ODE
regular_parts - Find regular parts of a linear ODE
riccati_system - Solve a system of Riccati differential equations or convert it into a matrix form
riccatisol - Find solutions of a first order Riccati ODE
RiemannPsols - Find solutions of a second order linear ODE
rightdivision - Perform right-hand division of differential operators
separablesol - Find solutions of a separable first order ODE
super_reduce - Generate super-irreducible form of a linear differential system
symmetric_product - Compute the symmetric product of differential operators
symmetric_power - Calculate the symmetric power of a differential equation or operator
symgen - Look for a symmetry generator for a given first or second order ODE
symtest - Test a given symmetry
transinv - Look for the set of transformations of variables which leave the ODE invariant
Examples
DEtoolsmatrixDE⁡array⁡1..2,1..2,1,1=−1T,1,2=w,2,1=−w,2,2=−1T,array⁡1..2,0,0,t
ⅇ−tT⁢sin⁡w⁢tⅇ−tT⁢cos⁡w⁢tⅇ−tT⁢cos⁡w⁢t−ⅇ−tT⁢sin⁡w⁢t,00
Check the irreducibility of a differential operator.
restart
with⁡DEtools:
df≔DF2+21100⁢x2−x+1x2⁢x−12
df≔DF2+21⁢x2−x+1100⁢x2⁢x−12
DFactor⁡df,DF,x
DF2+21⁢x2−x+1100⁢x2⁢x−12
Using DEtools, you can build differential equations from differential operators. In the example below, the differential operator df yields a differential equation with Bessel function solutions. Its third symmetric power can also be constructed, and the corresponding differential equation solved by the new dsolve.
restart;
with( DEtools ):
df := x^2 * DF^2 - x*DF + ( x^2 - 1 );
df≔x2⁢DF2−x⁢DF+x2−1
diffop2de( df, y( x ), [ DF, x ] );
x2−1⁢y⁡x−x⁢ⅆⅆxy⁡x+x2⁢ⅆ2ⅆx2y⁡x
dsolve( (7), y( x ) );
y⁡x=c__1⁢x⁢BesselJ⁡2,x+c__2⁢x⁢BesselY⁡2,x
dff := symmetric_power( df, 3, [ DF, x ] );
dff≔DF4−6⁢DF3x+5⁢2⁢x2+1⁢DF2x2−5⁢6⁢x2−7⁢DFx3+3⁢3⁢x4+2⁢x2−21x4
dsolve( diffop2de( dff, y( x ), [ DF, x ] ), y( x ) );
y⁡x=c__1⁢x3⁢BesselJ⁡2,x3+c__2⁢x3⁢BesselY⁡2,x3+c__3⁢x3⁢BesselJ⁡2,x⁢BesselY⁡2,x2+c__4⁢x3⁢BesselJ⁡2,x2⁢BesselY⁡2,x
Please see the DEtools example worksheets for more illustrations.
New functions in this package:
autodispersion - Compute self-dispersion of a polynomial
firstlin - Solve first order linear recurrences
riccati - Solve recurrences of Riccati type
divconq - Solve "divide and conquer" recurrences
with( LREtools ):
re := REcreate( { y( n * k ) = y( k ) / 3 }, y( k ), {} );
re≔RESol⁡3⁢y⁡n⁢k−y⁡k=0,y⁡k,∅,INFO
divconq( re );
y⁡1⁢k−ln⁡3ln⁡n~
RegularPolygon - Define a regular polygon
RegularStarPolygon - Define a regular star polygon
form - Return a given geometric object if it is supported by the geometry package
form - View detailed information about a geometric object
apothem - Return the apothem of a regular polygon
ExteriorAngle - Return the exterior angle of a regular polygon
inradius - Return the radius of the in-circle of a regular polygon
InteriorAngle - Return the interior angle of a regular polygon
perimeter - Compute the perimeter of a regular polygon
with( geometry ):
RegularPolygon( P, 5, point( O, 1, 1), 2 );
Warning, a geometry object has been assigned to the protected name O. Use of protected names for geometry objects is not recommended and may break Maple functionality.
P
detail( P );
name of the objectPform of the objectRegularPolygon2dthe side of the polygon4⁢sin⁡π5the center of the polygon1,1the radius of the circum-circle2the radius of the in-circle2⁢cos⁡π5the interior angle3⁢π5the exterior angle2⁢π5the perimeter20⁢sin⁡π5the area20⁢sin⁡π5⁢cos⁡π5the vertices of the polygon3,1,1+2⁢cos⁡2⁢π5,1+2⁢sin⁡2⁢π5,1−2⁢cos⁡π5,1+2⁢sin⁡π5,1−2⁢cos⁡π5,1−2⁢sin⁡π5,1+2⁢cos⁡2⁢π5,1−2⁢sin⁡2⁢π5
apothem( P );
2⁢cos⁡π5
The integral transforms package inttrans has been substantially reworked internally.
The inverse Mellin transform, invmellin, is new in this release.
with( inttrans ):
assume( a, 'complex' );
assume( b, 'complex' );
assume( c > 0 );
U := mellin( u( x ), x, s );
U≔`?`
inttrans[ 'invmellin' ]( U, s, x );
u⁡x
The command savetable will save a table to a given file.
See the integral transform example worksheet for more information about this package.
To compute Hermite-Pade approximations, use the command hermite_pade.
numapprox[ 'hermite_pade' ]([sin(x),cos(x)],x=Pi,7);
−6⁢x−π2+15,x−π3−15⁢x+15⁢π
You can compute an integral basis for an algebraic number field using the integral_basis command.
numtheory[ 'integral_basis' ]( {2^(1/3), 3^(1/3)} );
1,213,223,313,213⁢313,−2⁢3133−213⁢3133+223⁢3133,323,−2⁢3233+213⁢3233,−2⁢3233−213⁢3233+223⁢3233
The new summand command allows you to locate the summand of an inert sum.
student[ 'summand' ](Sum(1/i!,i=1..n));
1i!
The hfarrays are used internally to improve performance.
The hackware package now has greater robustness.
Download Help Document