DifferentialGeometry[Tools] - Maple Help

Home : Support : Online Help : Mathematics : DifferentialGeometry : Tools : DifferentialGeometry/Tools/DGmain

DifferentialGeometry[Tools]

 DGmain

 Calling Sequence DGmain:-export(args)

Parameters

 export - one of: &mult, &plus, &minus, &tensor, &wedge, Hook, DGzip args - the arguments appropriate for the DifferentialGeometry command of the same name

Description

 • The module DGmain contains DifferentialGeometry procedures identical to procedures in the DifferentialGeometry package -- the sole difference being that no argument checking or validation is performed by DGmain procedures.  The DGmain procedures can therefore be used in programming situations where the arguments to the procedures &mult, &plus, &minus, &tensor, &wedge, Hook, DGzip are known to be valid.
 • This command is part of the DifferentialGeometry:-Tools package, and so can be used in the form DGmain:-&mult only after executing the commands with(DifferentialGeometry) and with(Tools) in that order.  It can always be used in the long form DifferentialGeometry:-Tools:-DGmain:-&mult.  The other valid exports work the same way.

Examples

 > $\mathrm{with}\left(\mathrm{DifferentialGeometry}\right):$$\mathrm{with}\left(\mathrm{Tools}\right):$
 > $\mathrm{exports}\left(\mathrm{DGmain}\right)$
 ${\mathrm{&mult}}{,}{\mathrm{&algmult}}{,}{\mathrm{&plus}}{,}{\mathrm{&minus}}{,}{\mathrm{&tensor}}{,}{\mathrm{&wedge}}{,}{\mathrm{Hook}}{,}{\mathrm{DGzip}}$ (1)

Define a coordinate system [x, y, z, w].

 > $\mathrm{DGsetup}\left(\left[x,y,z,w\right],M\right)$
 ${\mathrm{frame name: M}}$ (2)

Create two procedures which will determine the time needed to compute D_x + D_y + D_z + D_w:

 > Test1 := proc(n) local T, i; T := time(); for i to n do D_x &plus D_y &plus D_z &plus D_w; od; time() - T; end:
 > Test2 := proc(n) local T, i; T := time(); for i to n do DGmain:-&plus(DGmain:-&plus(DGmain:-&plus(D_x, D_y), D_z), D_w); od; time() - T; end:

We see that Test2, which uses DGmain, is faster.

 > $\mathrm{Test1}\left(1000\right)$
 ${0.397}$ (3)
 > $\mathrm{Test2}\left(1000\right)$
 ${0.340}$ (4)
 M >