retrieve a specific entry from a table in the DifferentialGeometry library - Maple Programming Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Mathematics : DifferentialGeometry : Library : DifferentialGeometry/Library/Retrieve

Library[Retrieve] - retrieve a specific entry from a table in the DifferentialGeometry library

Calling Sequences


     Retrieve(author, n)

     Retrieve(author, n, indexlist, options)


     author    - the author of a table in the DifferentialGeometry Library

     n         - an integer

     indexlist - an index for the table specified by the call sequence author, n

     options   - optional arguments, depending on the nature of the table entry to be retrieved






The command Retrieve() returns the calling sequences for all the tables in the DifferentialGeometry Library.


Each table in the DifferentialGeometry Library is uniquely specified by its call sequence author, n.  The command Retrieve(author, n) returns all the indices for the table specified by the given call sequence.


The command Retrieve(author, n, index, options) returns the data in the table for the given call sequence and table index.  The index refers to the exact reference scheme used by the author in the original source article or book.  The command returns the data from the source article or book in a format which can be immediately used by the appropriate DifferentialGeometry commands.


When an entry from a table of Lie algebras of vector fields is to be retrieved, the argument manifold = M is required.  Here M is the name of the manifold, initialized via DGsetup, upon which the vector fields are to be defined.


When an entry from a table of tensor fields is to be retrieved, the argument manifoldname = M is required.  Here M is the name of the manifold, initialized via DGsetup, upon which the tensor fields are to be defined.


When an entry from a table of Lie algebras is to be retrieved, an optional 4th argument can be used to specify the name that will be used to refer to the algebra.


When an entry from a table of differential equations is to be retrieved, the argument variables = variablelist is required.  The independent variables should be listed first and the dependent variables second.


The list of parameters appearing in the table entry can be obtained with the optional argument parameters = "yes".


The command Retrieve is part of the DifferentialGeometry:-Library package.  It can be used in the form Retrieve(...) only after executing the commands with(DifferentialGeometry) and with(Library), but can always be used by executing DifferentialGeometry:-Library:-Retrieve(...).


with(DifferentialGeometry): with(Library): with(LieAlgebras):


Example 1.




Retrieve("Winternitz", 1);




Example 2.

We retrieve a 5-dimensional Lie algebra appearing in the paper by         J. Patera, R. T. Sharp,  and P. Winternitz, Invariants of real low dimensional Lie algebras, Journal of Mathematical Physics, Vol 17, No 6 (1976), 966--994.

L1 := Retrieve("Winternitz", 1, [5, 40], Alg);




At this point we can immediately initialize this Lie algebra and perform computations.  For example, using the LeviDecomposition command we find that the algebra [5, 40] in ["Winternitz", 1] admits a non-trivial Levi decomposition with a 2 dimensional radical [e4, e5] and a semi-simple subalgebra [e1, e2, e3].


Lie algebra: Alg

Alg > 





Example 3.

We retrieve a 5 dimensional Lie algebra of vector fields in the plane appearing in the paper by A. Gonzalez-Lopex, N. Kamran and P. J. Olver, Lie algebras of vector fields in the real plane , Proc. London Math Soc. Vol 64 (1992), 339--368

Alg > 

with(JetCalculus): with(GroupActions):

Alg > 

DGsetup([x], [y], M, 1);

frame name: M

M > 

V := Retrieve("Gonzalez-Lopez", 1, [5], manifold = M);




We can immediately do computations with this 5-dimensional Lie algebra of vector fields.  For example, let us prolong these vector fields to the 1st order jet spaces J^1(R, R) with the Prolong command and compute the isotropy subalgebra (with the IsotropySubalgebra command) for this prolonged infinitesimal action at a generic point [ x = a, y[ ] = b, y[1] = c].

M > 

V2 := map(Prolong, V, 1);


M > 

Alg := IsotropySubalgebra(V2, [x = a, y[] = b, y[1] = c]);


M > 





Since the infinitesimal isotropy of this 5 dimension Lie algebra of vector fields is 2 dimensional, the generic orbits for the corresponding group action are 3 dimensional and therefore, since J^1(R, R) has dimension 3, there are no differential invariants for this action on the 1-jets.


Example 4.

The DifferentialGeometry Library contains the lists of ordinary differential equations from the book by Kamke. Let us retrieve one such equation, use the procedure PDEtools:-Infinitesimals to find the infinitesimal symmetries of this equation, and then use the LieAlgebras command LieAlgebraData to calculate the structure equations for this Lie algebra.

M > 

DE := Retrieve("Kamke", 1, [7, 8], variables = [x, y]);


M > 

S := PDETools:-Infinitesimals(DE, [y]);


M > 

DGsetup([x], [y], M):


We use the convert command with the keyword DGvector to convert the output of the PDEtools:-Infinitesimals programs to the Differential Geometry vector field format.

M > 

V := convert([S], DGvector);


M > 

L := LieAlgebraData(V, K7_8, initialpointlist = [[x = 1, y = 1], [x = 0, y = 1]]);




Let us find the Levi decomposition for this 6 dimensional symmetry algebra.

M > 


Lie algebra: K7_8

K7_8 > 





Example 5.

The DifferentialGeometry Library contains detailed information on some of the space-time metrics found in the books by Hawking and Ellis and Stephani, Kramer et. al.  

First define a spacetime manifold.

K7_8 > 

DGsetup([t, x, y, z], M);

frame name: M



Retrieve the metric and other fields (if present):

Retrieve("Stephani", 1, [12, 14, 1], manifoldname = M, output = ["Fields"]);




Retrieve a null tetrad for the space-time.

M > 

Retrieve("Stephani", 1, [12, 14, 1], manifoldname = M, output = ["NullTetrad"]);




Retrieve the Petrov type.

M > 

Retrieve("Stephani", 1, [12, 14, 1], manifoldname = M, output= ["PetrovType"]);




Retrieve  the Killing vectors

M > 

Retrieve("Stephani", 1, [12, 14, 1], manifoldname = M, output = ["KillingVectors"]);




The keyword argument output accepts a list of table indices chosen from ["Authors", "BasePoints",  "Comments", "Coordinates", "CosmologicalConstant", "Domains", "Fields", "IsometryDimension , "KillingEquations", "KillingVectors", "NewtonConstant", "NullTetrad", "OrthonormalTetrad", "Parameters", "PetrovType", "PlebanskiPetrovType", "PrimaryDescription", "OrbitDimension", "OrbitType", "Reference", "SegreType", "SideConditionsAssuming",  "SideConditionsSimplify", "SecondaryDescription", "TertiaryDescription" ].



Example 6.

Many table entries in the DifferentialGeometry library contain arbitrary parameters.  These parameters can be assigned specific values by first adding the optional argument parameters = "yes" to the calling sequence for the Retrieve command and using the elements of the returned  parameter list in conjunction with the eval command.

K7_8 > 

L,P := Retrieve("Winternitz", 1, [5,17], Alg1, parameters = "yes");




This Lie algebra depends upon parameters [p, q, s].  Use the following command to assign the values p =3, q = 7, s= K in the structure equations L.

K7_8 > 

L1 := eval(L, [P[1]=3, P[2]=7, P[3]=K]);



See Also