New Symbolic Features That Have Been Added to Maple V for Release 4

New and Improved Packages:

 • Integral transforms:
 The new integral transform package inttrans includes: inttrans[laplace], inttrans[invlaplace], inttrans[mellin], inttrans[fourier], inttrans[invfourier], inttrans[fouriersin], inttrans[fouriercos], inttrans[hankel], inttrans[hilbert].
 > inttrans[fouriersin](3/(t + a),t,w);
 $\frac{{3}{}\sqrt{{2}}{}\left({-}{\mathrm{cos}}{}\left({a}{}{w}\right){}{\mathrm{Ssi}}{}\left({a}{}{w}\right){+}{\mathrm{sin}}{}\left({a}{}{w}\right){}{\mathrm{Ci}}{}\left({a}{}{w}\right)\right)}{\sqrt{{\mathrm{\pi }}}}$ (1)
 > assume(a>0);
 > inttrans[hilbert](exp(I*a*x),x,y);
 ${I}{}{{ⅇ}}^{{I}{}{y}{}{\mathrm{a~}}}$ (2)
 > a := 'a':
 User defined lookup tables are added to the Fourier and Laplace transforms via routine inttrans[addtable]. Table entries can have an arbitrary number of constant parameters:
 > with(inttrans):
 > inttrans[mellin](t^a*int(x^b*f1(t/x)*f2(x),x=0..infinity),t,s);
 ${\mathrm{F1}}{}\left({s}{+}{a}\right){}{\mathrm{F2}}{}\left({s}{+}{a}{+}{b}{+}{1}\right)$ (3)
 Recognition and transformation of general convolution integrals is added to all three transforms:
 > inttrans[mellin](diff(f(t),t),t,s);
 ${-}\left({s}{-}{1}\right){}{F}{}\left({s}{-}{1}\right)$ (4)
 > inttrans[mellin](int(f(x),x=t..infinity),t,s);
 $\frac{{F}{}\left({s}{+}{1}\right)}{{s}}$ (5)
 Functions which are being integrated and differentiated with respect to parameters other than the transform parameter are now simplified using Leibniz and Fubini's theorem.
 > inttrans[fourier](diff(f(t,u),u),t,s);
 ${\mathrm{fourier}}{}\left({\mathrm{diff}}{}\left({f}{}\left({t}{,}{u}\right){,}{u}\right){,}{t}{,}{s}\right)$ (6)
 > inttrans[laplace](int(f(t,u),u=a..b),t,s);
 ${\mathrm{int}}{}\left({\mathrm{laplace}}{}\left({f}{}\left({t}{,}{u}\right){,}{t}{,}{s}\right){,}{u}{=}{a}{..}{b}\right)$ (7)
 Transforms can now return multiple integrals, allowing for expressions of the form f(t)/t^n to be transformed for n>1:
 > inttrans[laplace](f(t)/t^4,t,s);
 ${\mathrm{laplace}}{}\left(\frac{{f}{}\left({t}\right)}{{{t}}^{{4}}}{,}{t}{,}{s}\right)$ (8)
 In many cases, hypergeometric functions are returned where formerly only definite integrals were returned:
 > inttrans[fourier]((1+I*t)^(-1/2)*(1+2*I*t)^(-3/2),t,w);
 ${-}\frac{\sqrt{{2}}{}{\mathrm{\pi }}{}{{ⅇ}}^{{w}}{}{w}{}{\mathrm{hypergeom}}{}\left(\left[\frac{{3}}{{2}}\right]{,}\left[{2}\right]{,}{-}\frac{{w}}{{2}}\right){}{\mathrm{Heaviside}}{}\left({-}{w}\right)}{{2}}$ (9)
 • DEtools: Differential Equations Tools package
 There are significant changes over release 3 version. Some new functionalities include:

 handle a variety of substitutions and transformations in DEs. allow users to change independent variables in a PDE to a new coordinate system. either return an ODE of reduced order or solve the ODE explicitly by the method of reduction of order. convert a system of differential equations to a first order system.

 > DEtools[PDEchangecoords](D[1,2](w)(x,y,z)-D[1](w)(x,y,z), [x,y,z], cylindrical,[r,phi,theta]);
 $\frac{{\mathrm{sin}}{}\left({\mathrm{\phi }}\right){}{\mathrm{cos}}{}\left({\mathrm{\phi }}\right){}{{\mathrm{D}}}_{{1}{,}{1}}{}\left({w}\right){}\left({r}{,}{\mathrm{\phi }}{,}{\mathrm{\theta }}\right){}{{r}}^{{2}}{-}{\mathrm{cos}}{}\left({\mathrm{\phi }}\right){}{{\mathrm{D}}}_{{1}}{}\left({w}\right){}\left({r}{,}{\mathrm{\phi }}{,}{\mathrm{\theta }}\right){}{r}{}{\mathrm{sin}}{}\left({\mathrm{\phi }}\right){+}{2}{}{{\mathrm{cos}}{}\left({\mathrm{\phi }}\right)}^{{2}}{}{{\mathrm{D}}}_{{1}{,}{2}}{}\left({w}\right){}\left({r}{,}{\mathrm{\phi }}{,}{\mathrm{\theta }}\right){}{r}{-}{\mathrm{cos}}{}\left({\mathrm{\phi }}\right){}{{\mathrm{D}}}_{{1}}{}\left({w}\right){}\left({r}{,}{\mathrm{\phi }}{,}{\mathrm{\theta }}\right){}{{r}}^{{2}}{-}{\mathrm{cos}}{}\left({\mathrm{\phi }}\right){}{\mathrm{sin}}{}\left({\mathrm{\phi }}\right){}{{\mathrm{D}}}_{{2}{,}{2}}{}\left({w}\right){}\left({r}{,}{\mathrm{\phi }}{,}{\mathrm{\theta }}\right){+}{\mathrm{sin}}{}\left({\mathrm{\phi }}\right){}{{\mathrm{D}}}_{{2}}{}\left({w}\right){}\left({r}{,}{\mathrm{\phi }}{,}{\mathrm{\theta }}\right){}{r}{-}{2}{}{{\mathrm{cos}}{}\left({\mathrm{\phi }}\right)}^{{2}}{}{{\mathrm{D}}}_{{2}}{}\left({w}\right){}\left({r}{,}{\mathrm{\phi }}{,}{\mathrm{\theta }}\right){-}{{\mathrm{D}}}_{{1}{,}{2}}{}\left({w}\right){}\left({r}{,}{\mathrm{\phi }}{,}{\mathrm{\theta }}\right){}{r}{+}{{\mathrm{D}}}_{{2}}{}\left({w}\right){}\left({r}{,}{\mathrm{\phi }}{,}{\mathrm{\theta }}\right)}{{{r}}^{{2}}}$ (10)
 • combstruct: Combinatorial Structures package
 The package combstruct is used to define, count and generate combinatorial structures.
 A combinatorial class is defined by writing a grammar specification that describes it. In this way, an extensive collection of different classes may be defined. For example, the system applies to all regular and context-free grammars, grammars to define binary trees, plane general trees, necklaces, functional graphs, expression trees etc.
 > with(combstruct):
 Model alcohol molecules, C_n H_{2n+1} OH.
 Define the grammar for an alkyl, C_n H_{2n+1}, which is a ternary rooted tree that moves freely in space.
 > molecule := {alkyl = Union(H, Prod(C, Set(alkyl, card=3))), H=Atom, C=Atom}:
 > count([alkyl, molecule], size=6+2*6+1);
 ${17}$ (11)
 Thus we see that there are 17 different alcohol molecules with 6 carbon atoms. Here is one of them.
 > draw([alkyl, molecule], size=6+6*2+1);
 ${\mathrm{Prod}}{}\left({C}{,}{\mathrm{Set}}{}\left({\mathrm{Prod}}{}\left({C}{,}{\mathrm{Set}}{}\left({\mathrm{Prod}}{}\left({C}{,}{\mathrm{Set}}{}\left({H}{,}{H}{,}{H}\right)\right){,}{H}{,}{H}\right)\right){,}{\mathrm{Prod}}{}\left({C}{,}{\mathrm{Set}}{}\left({\mathrm{Prod}}{}\left({C}{,}{\mathrm{Set}}{}\left({H}{,}{H}{,}{H}\right)\right){,}{\mathrm{Prod}}{}\left({C}{,}{\mathrm{Set}}{}\left({H}{,}{H}{,}{H}\right)\right){,}{H}\right)\right){,}{H}\right)\right)$ (12)
 • tensor: Tensor Analysis and General Relativity Computations
 The tensor package deals with tensors, their operations, and their use in General relativity both in the natural basis and in a rigid moving frame. Some utilities to manipulate tensors are also provided, as well as a mechanism for customizing the way simplification is done in multi-step calculations.
 Compute the curvature in the natural basis for the Schwarzschild solution:
 > with(tensor):
 > g := create([-1,-1], array(1..4, 1..4, symmetric, sparse, [(1,1) = 1-2*M/r, (2,2) = -1/(1-2*M/r), (3,3) = -r^2, (4,4) = -r^2*sin(theta)^2])):
 > coord := [t, r, theta, phi]:
 > tensor/simp := proc(a) simplify(a); end:
 > con_g := invert(g, 'det_g'):
 > d1_g := d1metric(g, coord):
 > d2_g := d2metric(d1_g, coord):
 > Cf1 := Christoffel1(d1_g):
 > Cf2 := Christoffel2(con_g, Cf1):
 > Rm := Riemann(con_g, d2_g, Cf1):
 > Rc := Ricci(con_g, Rm):
 Display the non-zero independent components of the covariant Riemann and Ricci tensors:
 > displayGR('Riemann', Rm);
 ${}$
 ${\mathrm{The Riemann Tensor}}$
 ${\mathrm{non-zero components :}}$
 ${\mathrm{R1212}}{=}\frac{{2}{}{M}}{{{r}}^{{3}}}$
 ${\mathrm{R1313}}{=}\frac{\left({-}{r}{+}{2}{}{M}\right){}{M}}{{{r}}^{{2}}}$
 ${\mathrm{R1414}}{=}\frac{\left({-}{r}{+}{2}{}{M}\right){}{M}{}{{\mathrm{sin}}{}\left({\mathrm{\theta }}\right)}^{{2}}}{{{r}}^{{2}}}$
 ${\mathrm{R2323}}{=}{-}\frac{{M}}{{-}{r}{+}{2}{}{M}}$
 ${\mathrm{R2424}}{=}{-}\frac{{M}{}{{\mathrm{sin}}{}\left({\mathrm{\theta }}\right)}^{{2}}}{{-}{r}{+}{2}{}{M}}$
 ${\mathrm{R3434}}{=}{-}{2}{}{r}{}{M}{}{{\mathrm{sin}}{}\left({\mathrm{\theta }}\right)}^{{2}}$
 ${}$
 ${\mathrm{character : \left[-1, -1, -1, -1\right]}}$ (13)
 > displayGR('Ricci', Rc);
 ${}$
 ${\mathrm{The Ricci tensor}}$
 ${\mathrm{non-zero components :}}$
 ${\mathrm{None}}$
 ${}$
 ${\mathrm{character : \left[-1, -1\right]}}$ (14)
 Notice that the last result confirms the fact that the Schwarzschild solution is indeed a vacuum solution.
 Verify the Bianchi identity by computing the covariant derivatives of the Riemann components and anti-symmetrizing them on the last three indices:
 > D_Rm := cov_diff(Rm, coord, Cf2):
 > asymm_D_Rm := antisymmetrize(D_Rm, [3,4,5]):
 > act('display', asymm_D_Rm);
 ${\mathrm{_____________________________________________________}}$
 ${\mathrm{No non-zero independent components.}}$
 CHARACTER :
 $\left[{-1}{,}{-1}{,}{-1}{,}{-1}{,}{-1}\right]$
 ${\mathrm{_____________________________________________________}}$ (15)
 Since all of the components are zero, the Bianchi identity is verified.
 • geometry: 2D Euclidean Geometry Package
 The geometry package is re-designed, and has more functionalities: the conic section is completely implemented, more transformations, graphical visualization is also provided.
 >