 Updates to Differential Geometry in Maple 16 - Maple Programming Help

Updates to Differential Geometry in Maple 16

DifferentialGeometry for Maple 16, with 28 new commands, contains important new functionality for working with abstractly defined differential forms, Lie algebras and general relativity.

Abstractly defined differential forms

 • The functionality of the command DGsetup has been extended to create a new computational environment for working with abstract differential forms, that is, differential forms which are defined without reference to any underlying system of coordinates.  Structure equations for the abstract differential forms can be included in the new calling sequences for DGsetup. The capabilities of other commands in the DifferentialGeometry package, notably DGinfo, ExteriorDerivative, Hook and LieDerivative, have been extended to work with abstract differential forms.  These capabilities extend those available in the difforms package.  For an introduction to this new functionality in DifferentialGeometry, see Working with Abstract Forms.

The Maplet MetricSearch

 • The Library sub-package contains a new command MetricSearch which provides a simple method for searching the DifferentialGeometry database of  solutions to the Einstein equations.

General Relativity

 • The Tensor sub-package contains 4 new commands for analyzing the geometric properties of space-times.
 • The commands RainichConditions and RainichElectromagneticField can be used to determine if a given space-time is an electro-vac space-time and to find the electromagnetic field for that space-time.
 • Line congruences play a distinguished role in the study of space-times and the properties of such congruences can now be easily calculated with the command CongruenceProperties.
 • The signature of a metric can now be computed with QuadraticFormSignature.  This procedure uses a simple algorithm which does not require eigenvalue computation and works well with the Maple assuming feature.
 • For General Relativity students and researchers new to Maple, see Overview of General Relativity in DifferentialGeometry.

Integration of the sub-packages LieAlgebraCohomology and LieAlgebraRepresentations

 • The sub-package LieAlgebras:-LieAlgebraCohomology has been deprecated and the 3 commands in that package [Cohomology, CohomologyDecomposition, RelativeChains] have been integrated directly into the LieAlgebras package.
 • The sub-package LieAlgebras:-LieAlgebraRepresentations has been deprecated and the 11 commands in that package [ApplyRepresentation, AscendingIdealsBasis, ChangeBasis, DirectSum, Invariants, QuotientRepresentation, Representation, RepresentationEigenvector, SolvableRepresentation, SubRepresentation, TensorProduct] have been integrated directly into the LieAlgebras package.

Structure Theory of Semi-simple Lie Algebras

 • Twenty-four new commands have been added to the LieAlgebra package for working with simple (and semi-simple) Lie algebras. The DifferentialGeometry software now contains the commands for the complete analysis of the structure theory for any semi-simple Lie algebra (defined perhaps as a matrix algebra, a Lie algebra of symmetries of a differential equation, the isometries of a metric, the automorphisms of a Lie algebra, etc).
 • The command SimpleLieAlgebraData can be used define the structure equations for any of the classical real simple Lie algebras , , . There are three companion procedures to SimpleLieAlgebraData. The procedure StandardRepresentation gives a basis for the standard representation of these Lie algebras as matrices. The procedure  SimpleLieAlgebraProperties returns a table of properties for any one of these simple Lie algebras - these properties include Cartan subalgebra, root space decomposition, simple roots, positive roots, Cartan decomposition, etc. The command MatrixSubalgebra is used to create subalgebras of these classic matrix algebras.
 • The command CartanSubalgebra finds a Cartan subalgebra for any given Lie algebra.
 • The command RootSpaceDecomposition uses the Cartan subalgebra to produce a table which gives the root space decomposition of the Lie algebra. The roots can be extracted from the table with LieAlgebraRoots. The compact roots (purely imaginary) are found with CompactRoots. The root space decomposition is performed assuming that the Lie algebra is defined over the complex numbers. A real root space decomposition is obtained from RestrictedRootSpaceDecomposition.
 • The command PositiveRoots will determine a set of positive roots from the root space decomposition. The command SimpleRoots finds the basis of simple roots from the positive roots.
 • The Cartan matrix is found from the simple roots and the root space decomposition with CartanMatrix. The command CartanMatrixToStandardForm produces a re-ordering of the simple roots which transforms the Cartan matrix to standard form and identifies the complex type of the Lie algebra as "A", "B", "C",  "D", "E", or "F". The command SatakeAssociate can be used to determine the real type of a given simple Lie algebra.
 • The commands CartanDecomposition and CartanInvolution are available for semi-simple Lie algebras with a given matrix representation.
 • The root space decomposition can be used to create gradings of a semi-simple Lie algebra or to find parabolic subalgebras.
 • The signature of the Killing form can be computed with the KillingForm and QuadraticFormSignature commands.
 • The Dynkin and Satake diagrams for a simple Lie algebra can be plotted with the commands DynkinDiagram and SatakeDiagram.

Query command

 • The LieAlgebra Query command now supports keyword arguments "CartanDecomposition", "CartanInvolution", "CartanSubalgebra", "MatrixAlgebra", "NilRepresentation", "ParabolicSubalgebra", "RegularElement", "RootSpaceDecomposition", "SolvableRepresentation".

Examples

Example 1.

In this example we shall initialize the Lie algebra  ( the algebra of  $3×3$  trace-free matrices).  For this algebra we then calculate [i] a Cartan subalgebra, [ii] the root space decomposition, [iii] the positive and simple roots, and [iv] the Cartan matrix.

 > $\mathrm{with}\left(\mathrm{DifferentialGeometry}\right):$$\mathrm{with}\left(\mathrm{LieAlgebras}\right):$$\mathrm{with}\left(\mathrm{Tensor}\right):$$\mathrm{with}\left(\mathrm{Tools}\right):$
 > $\mathrm{LD}≔\mathrm{SimpleLieAlgebraData}\left("sl\left(3\right)",\mathrm{sl3}\right)$
 ${\mathrm{LD}}{≔}\left[\left[{\mathrm{e1}}{,}{\mathrm{e3}}\right]{=}{\mathrm{e3}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e4}}\right]{=}{2}{}{\mathrm{e4}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e5}}\right]{=}{-}{\mathrm{e5}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e6}}\right]{=}{\mathrm{e6}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e7}}\right]{=}{-}{2}{}{\mathrm{e7}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e8}}\right]{=}{-}{\mathrm{e8}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e3}}\right]{=}{-}{\mathrm{e3}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e4}}\right]{=}{\mathrm{e4}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e5}}\right]{=}{\mathrm{e5}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e6}}\right]{=}{2}{}{\mathrm{e6}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e7}}\right]{=}{-}{\mathrm{e7}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e8}}\right]{=}{-}{2}{}{\mathrm{e8}}{,}\left[{\mathrm{e3}}{,}{\mathrm{e5}}\right]{=}{\mathrm{e1}}{-}{\mathrm{e2}}{,}\left[{\mathrm{e3}}{,}{\mathrm{e6}}\right]{=}{\mathrm{e4}}{,}\left[{\mathrm{e3}}{,}{\mathrm{e7}}\right]{=}{-}{\mathrm{e8}}{,}\left[{\mathrm{e4}}{,}{\mathrm{e5}}\right]{=}{-}{\mathrm{e6}}{,}\left[{\mathrm{e4}}{,}{\mathrm{e7}}\right]{=}{\mathrm{e1}}{,}\left[{\mathrm{e4}}{,}{\mathrm{e8}}\right]{=}{\mathrm{e3}}{,}\left[{\mathrm{e5}}{,}{\mathrm{e8}}\right]{=}{-}{\mathrm{e7}}{,}\left[{\mathrm{e6}}{,}{\mathrm{e7}}\right]{=}{\mathrm{e5}}{,}\left[{\mathrm{e6}}{,}{\mathrm{e8}}\right]{=}{\mathrm{e2}}\right]$ (1.1)

Initialize this algebra.

 > $\mathrm{DGsetup}\left(\mathrm{LD}\right)$
 ${\mathrm{Lie algebra: sl3}}$ (1.2)

Calculate a Cartan subalgebra.

 sl3 > $\mathrm{CSA}≔\mathrm{CartanSubalgebra}\left(\mathrm{sl3}\right)$
 ${\mathrm{CSA}}{≔}\left[{\mathrm{e1}}{,}{\mathrm{e2}}\right]$ (1.3)

Find the root space decomposition for this algebra.

 sl3 > $\mathrm{RSD}≔\mathrm{RootSpaceDecomposition}\left(\mathrm{CSA}\right)$
 ${\mathrm{RSD}}{≔}{table}{}\left(\left[\left[{1}{,}{2}\right]{=}{\mathrm{e6}}{,}\left[{-1}{,}{1}\right]{=}{\mathrm{e5}}{,}\left[{-1}{,}{-2}\right]{=}{\mathrm{e8}}{,}\left[{2}{,}{1}\right]{=}{\mathrm{e4}}{,}\left[{1}{,}{-1}\right]{=}{\mathrm{e3}}{,}\left[{-2}{,}{-1}\right]{=}{\mathrm{e7}}\right]\right)$ (1.4)

Find the positive roots and the simple roots.

 sl3 > $\mathrm{Rts}≔\mathrm{LieAlgebraRoots}\left(\mathrm{RSD}\right)$
 ${\mathrm{Rts}}{≔}\left[\left[\begin{array}{c}{1}\\ {2}\end{array}\right]{,}\left[\begin{array}{c}{-1}\\ {1}\end{array}\right]{,}\left[\begin{array}{c}{-1}\\ {-2}\end{array}\right]{,}\left[\begin{array}{c}{2}\\ {1}\end{array}\right]{,}\left[\begin{array}{c}{1}\\ {-1}\end{array}\right]{,}\left[\begin{array}{c}{-2}\\ {-1}\end{array}\right]\right]$ (1.5)
 sl3 > $\mathrm{PosRts}≔\mathrm{PositiveRoots}\left(\mathrm{Rts},\left[⟨1,0⟩,⟨0,1⟩\right]\right)$
 ${\mathrm{PosRts}}{≔}\left[\left[\begin{array}{c}{1}\\ {2}\end{array}\right]{,}\left[\begin{array}{c}{2}\\ {1}\end{array}\right]{,}\left[\begin{array}{c}{1}\\ {-1}\end{array}\right]\right]$ (1.6)
 sl3 > $\mathrm{\Delta }≔\mathrm{SimpleRoots}\left(\mathrm{PosRts}\right)$
 ${\mathrm{\Delta }}{≔}\left[\left[\begin{array}{c}{1}\\ {2}\end{array}\right]{,}\left[\begin{array}{c}{1}\\ {-1}\end{array}\right]\right]$ (1.7)

Find the Cartan matrix.

 sl3 > $\mathrm{CartanMatrix}\left(\mathrm{\Delta },\mathrm{RSD}\right)$
 $\left[\begin{array}{cc}{2}& {-1}\\ {-1}& {2}\end{array}\right]$ (1.8)

Example 2.

A space-time is called an electro-vac spacetime if there exists an electromagnetic field which solves the Einstein-Maxwell field equations. The problem of deciding if a spacetime is electro-vac can be solved using the command RainichConditions and RainichElectromagneticField

 M > $\mathrm{DGsetup}\left(\left[t,x,y,z\right],M\right)$
 ${\mathrm{frame name: M}}$ (1.9)
 M > $g≔\mathrm{evalDG}\left(\frac{4}{3}{t}^{2}\mathrm{dx}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{dx}+t\left(\mathrm{exp}\left(-2x\right)\mathrm{dy}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{dy}+\mathrm{exp}\left(2x\right)\mathrm{dz}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{dz}\right)-\mathrm{dt}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{dt}\right)$
 ${g}{≔}{-}{\mathrm{dt}}{}{\mathrm{dt}}{+}\frac{{4}{}{{t}}^{{2}}}{{3}}{}{\mathrm{dx}}{}{\mathrm{dx}}{+}{t}{}{{ⅇ}}^{{-}{2}{}{x}}{}{\mathrm{dy}}{}{\mathrm{dy}}{+}{t}{}{{ⅇ}}^{{2}{}{x}}{}{\mathrm{dz}}{}{\mathrm{dz}}$ (1.10)

Test to see if the Rainich conditions for this spacetime hold.

 M > $\mathrm{RainichConditions}\left(g\right)$
 ${\mathrm{true}}$ (1.11)

We conclude the spacetime is an electro-vac spacetime. Here is the electro-magnetic field.

 M > $F≔\mathrm{RainichElectromagneticField}\left(g\right)$
 ${F}{≔}\frac{{2}{}{\mathrm{cos}}{}\left({\mathrm{_C1}}\right){}\left({\mathrm{csgn}}{}\left(\frac{{1}}{{{t}}^{{2}}}\right){+}{1}\right)}{\sqrt{{6}{}{\mathrm{csgn}}{}\left(\frac{{1}}{{{t}}^{{2}}}\right){+}{6}}}{}{\mathrm{dt}}{}{\bigwedge }{}{\mathrm{dx}}{+}\frac{{\mathrm{sin}}{}\left({\mathrm{_C1}}\right){}\sqrt{{3}}{}{\mathrm{csgn}}{}\left(\frac{{1}}{{{t}}^{{2}}}\right){}\left({\mathrm{csgn}}{}\left(\frac{{1}}{{{t}}^{{2}}}\right){+}{1}\right)}{\sqrt{{6}{}{\mathrm{csgn}}{}\left(\frac{{1}}{{{t}}^{{2}}}\right){+}{6}}}{}{\mathrm{dy}}{}{\bigwedge }{}{\mathrm{dz}}$ (1.12)
 M > $F≔\mathrm{simplify}\left(F\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathbf{assuming}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}0
 ${F}{≔}\frac{{2}{}{\mathrm{cos}}{}\left({\mathrm{_C1}}\right){}\sqrt{{3}}}{{3}}{}{\mathrm{dt}}{}{\bigwedge }{}{\mathrm{dx}}{+}{\mathrm{sin}}{}\left({\mathrm{_C1}}\right){}{\mathrm{dy}}{}{\bigwedge }{}{\mathrm{dz}}$ (1.13)

We check that the Einstein equations are satisfied (See EinsteinTensor, EnergyMomentumTensor).

 M > $T≔\mathrm{EnergyMomentumTensor}\left("Electromagnetic",g,F\right)$
 ${T}{≔}\frac{{1}}{{2}{}{{t}}^{{2}}}{}{\mathrm{D_t}}{}{\mathrm{D_t}}{-}\frac{{3}}{{8}{}{{t}}^{{4}}}{}{\mathrm{D_x}}{}{\mathrm{D_x}}{+}\frac{{{ⅇ}}^{{2}{}{x}}}{{2}{}{{t}}^{{3}}}{}{\mathrm{D_y}}{}{\mathrm{D_y}}{+}\frac{{{ⅇ}}^{{-}{2}{}{x}}}{{2}{}{{t}}^{{3}}}{}{\mathrm{D_z}}{}{\mathrm{D_z}}$ (1.14)
 M > $E≔\mathrm{EinsteinTensor}\left(g\right)$
 ${E}{≔}\frac{{1}}{{2}{}{{t}}^{{2}}}{}{\mathrm{D_t}}{}{\mathrm{D_t}}{-}\frac{{3}}{{8}{}{{t}}^{{4}}}{}{\mathrm{D_x}}{}{\mathrm{D_x}}{+}\frac{{{ⅇ}}^{{2}{}{x}}}{{2}{}{{t}}^{{3}}}{}{\mathrm{D_y}}{}{\mathrm{D_y}}{+}\frac{{{ⅇ}}^{{-}{2}{}{x}}}{{2}{}{{t}}^{{3}}}{}{\mathrm{D_z}}{}{\mathrm{D_z}}$ (1.15)
 M > $E\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&minus\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}T$
 ${0}{}{\mathrm{D_t}}{}{\mathrm{D_t}}$ (1.16)

We check that the Maxwell equations (see MatterFieldEquations)  are satisfied.

 M > $\mathrm{MatterFieldEquations}\left("Electromagnetic",g,F\right)$
 ${0}{}{\mathrm{D_t}}{,}{0}{}{\mathrm{dt}}{}{\bigwedge }{}{\mathrm{dx}}{}{\bigwedge }{}{\mathrm{dy}}$ (1.17)

Example 3.

The DifferentialGeometry package now supports extended functionality for working with abstract differential forms

Create an abstract manifold $M$ with a function 1-forms and a 2-form ${\mathrm{σ}}_{}$.

 > $\mathrm{DGsetup}\left('\left[f=\mathrm{dgform}\left(0\right),\mathrm{\alpha }=\mathrm{dgform}\left(1\right),\mathrm{\beta }=\mathrm{dgform}\left(1\right),\mathrm{\sigma }=\mathrm{dgform}\left(2\right)\right]',\left[\right],M\right)$
 ${\mathrm{frame name: M}}$ (1.18)

The command DGinfo gives the names of all scalars and forms which are defined.

 M > $\mathrm{DGinfo}\left("AbstractForms"\right)$
 $\left[{f}{,}{\mathrm{\alpha }}{,}{\mathrm{\beta }}{,}{\mathrm{\sigma }}\right]$ (1.19)

Scalar products, wedge products and sums of abstract forms can be defined.

 M > $\mathrm{\omega }≔\mathrm{evalDG}\left(2\mathrm{\alpha }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&wedge\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{\beta }+4\mathrm{\sigma }\right)$
 ${\mathrm{\omega }}{≔}{2}{}{\mathrm{\alpha }}{}{\bigwedge }{}{\mathrm{\beta }}{+}{4}{}{\mathrm{\sigma }}$ (1.20)

The command DGinfo can also be used to extract information about the form ${\mathrm{ω}}_{}$.

 M > $\mathrm{DGinfo}\left(\mathrm{\omega },"ObjectFrame"\right)$
 ${M}$ (1.21)
 M > $\mathrm{DGinfo}\left(\mathrm{\omega },"FormDegree"\right)$
 ${2}$ (1.22)
 M > $\mathrm{DGinfo}\left(\mathrm{\omega },"CoefficientSet"\right)$
 $\left\{{2}{,}{4}\right\}$ (1.23)
 M > $\mathrm{DGinfo}\left(\mathrm{\omega },"CoefficientList",\left[\mathrm{\sigma }\right]\right)$
 $\left[{4}\right]$ (1.24)

New forms can be defined on M.

 M > $\mathrm{DGsetup}\left(M,\left[\mathrm{\delta }=\mathrm{dgform}\left(3\right)\right],\left[\right]\right)$
 ${\mathrm{updated frame: M}}$ (1.25)
 M > $\mathrm{DGinfo}\left("AbstractForms"\right)$
 $\left[{f}{,}{\mathrm{\alpha }}{,}{\mathrm{\beta }}{,}{\mathrm{\sigma }}{,}{\mathrm{\delta }}\right]$ (1.26)

We can use the DGzip and GetComponents commands with abstract forms.

 M > $\mathrm{\Omega }≔\mathrm{evalDG}\left(\left[\mathrm{\alpha }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&w\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{\beta },\mathrm{\sigma }\right]\right)$
 ${\mathrm{\Omega }}{≔}\left[{\mathrm{\alpha }}{}{\bigwedge }{}{\mathrm{\beta }}{,}{\mathrm{\sigma }}\right]$ (1.27)
 M > $\mathrm{zeta}≔\mathrm{DGzip}\left(\left[3,5\right],\mathrm{\Omega },"plus"\right)$
 ${\mathrm{ζ}}{≔}{3}{}{\mathrm{\alpha }}{}{\bigwedge }{}{\mathrm{\beta }}{+}{5}{}{\mathrm{\sigma }}$ (1.28)
 M > $\mathrm{GetComponents}\left(\mathrm{zeta},\mathrm{\Omega }\right)$
 $\left[{3}{,}{5}\right]$ (1.29)

We can take the exterior derivative of a form.

 M > $\mathrm{\rho }≔\mathrm{ExteriorDerivative}\left(\mathrm{\alpha }\right)$
 ${\mathrm{\rho }}{≔}{d}{}{\mathrm{\alpha }}$ (1.30)

The 2-form  has been added to list of defined forms and is now available for subsequent computations.

 M > $\mathrm{DGinfo}\left("AbstractForms"\right)$
 $\left[{f}{,}{\mathrm{\alpha }}{,}{\mathrm{\beta }}{,}{\mathrm{\sigma }}{,}{\mathrm{\delta }}{,}{d}{}{\mathrm{\alpha }}\right]$ (1.31)
 M > $\mathrm{ExteriorDerivative}\left(\mathrm{\rho }\right)$
 ${0}{}{\mathrm{\alpha }}{}{\bigwedge }{}{\mathrm{\sigma }}$ (1.32)

Exterior derivatives of defined forms can be specified.

 M > $\mathrm{DGsetup}\left(M,\left[\right],\left[d\left(f\right)=f\mathrm{\alpha },d\left(\mathrm{\beta }\right)=4\mathrm{\sigma }+5\mathrm{\alpha }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&wedge\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{\beta }\right]\right)$
 ${\mathrm{updated frame: M}}$ (1.33)
 M > $\mathrm{ExteriorDerivative}\left(f\mathrm{\beta }\right)$
 ${6}{}{f}{}{\mathrm{\alpha }}{}{\bigwedge }{}{\mathrm{\beta }}{+}{4}{}{f}{}{\mathrm{\sigma }}$ (1.34)