updatesR4/symbolic - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : updatesR4/symbolic

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

 

New and Improved Packages:

New and Improved Functionalities:

Other improvements:

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);

32cosawSsiaw+sinawCiawπ

(1)

assume(a>0);

inttrans[hilbert](exp(I*a*x),x,y);

IⅇIya~

(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):

addtable(mellin,f1(t),F1(s),t,s);

addtable(mellin,f2(t),F2(s),t,s);

inttrans[mellin](t^a*int(x^b*f1(t/x)*f2(x),x=0..infinity),t,s);

F1s+aF2s+a+b+1

(3)
  

Recognition and transformation of general convolution integrals is added to all three transforms:

addtable(mellin,f(t),F(s),t,s);

inttrans[mellin](diff(f(t),t),t,s);

s1Fs1

(4)

inttrans[mellin](int(f(x),x=t..infinity),t,s);

Fs+1s

(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);

fourierdiffft,u,u,t,s

(6)

inttrans[laplace](int(f(t,u),u=a..b),t,s);

intlaplaceft,u,t,s,u=a..b

(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);

laplaceftt4,t,s

(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);

2πⅇwwhypergeom32,2,w2Heavisidew2

(9)
• 

DEtools: Differential Equations Tools package

  

There are significant changes over release 3 version. Some new functionalities include:

DEtools[Dchangevar]

handle a variety of substitutions and

 

transformations in DEs.

DEtools[PDEchangecoords]

allow users to change independent

 

variables in a PDE to a new coordinate system.

DEtools[reduceOrder]

either return an ODE of reduced order or

 

solve the ODE explicitly by the method of

 

reduction of order.

DEtools[convertsys]

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]);

sinφcosφD1,1wr,φ,θr2cosφD1wr,φ,θrsinφ+2cosφ2D1,2wr,φ,θrcosφD1wr,φ,θr2cosφsinφD2,2wr,φ,θ+sinφD2wr,φ,θr2cosφ2D2wr,φ,θD1,2wr,φ,θr+D2wr,φ,θr2

(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);

ProdC,SetProdC,SetProdC,SetH,H,H,H,H,ProdC,SetProdC,SetH,H,H,ProdC,SetH,H,H,H,H

(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);

The Riemann Tensor

non-zero components :

R1212=2Mr3

R1313=r+2MMr2

R1414=r+2MMsinθ2r2

R2323=Mr+2M

R2424=Msinθ2r+2M

R3434=2rMsinθ2

character : [-1, -1, -1, -1]

(13)

displayGR('Ricci', Rc);

The Ricci tensor

non-zero components :

None

character : [-1, -1]

(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);

_____________________________________________________

No non-zero independent components.

  CHARACTER :

−1,−1,−1,−1,−1

_____________________________________________________

(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.