Mathematica Toolbox for General Relativity

Exterior Differential Calculus (EDC)

version 3.8.9 (2013) — MATHEMATICA (version 3-9 compatible) enhancement.

Overview

This package enables Mathematica to carry out calculations with differential forms. It defines the two basic operations — Exterior Product (Wedge) and Exterior Derivative (d) — in such a way that:

(1) they can act on any valid Mathematica expression
(2) they allow the use of any symbols to denote differential forms
(3) input – output notation is as close as possible to standard usage

Another use of this package is for doing algebraic / differential calculations with “symbolic matrices”, i.e., with symbols satisfying special multiplication rules, which can be interpreted as representing matrices, quantum operators, Lie algebra generators, Maurer-Cartan forms etc. In particular, it allows user-controlled application of trace identities and the Cayley-Hamilton theorem. Any symbol can be defined to be a “symbolic matrix”, i.e., to have special multiplication properties. But in this case the user must give the extra multiplication (Wedge) rules that define his/her problem. This is illustrated with several examples.

Version History

Version is 3.7.5 includes several auxiliary functions for manipulating explicit matrices. The notebook EDCmanual.nb has been rewritten ab initio and contains Definitions of all functions defined in the package and Examples illustrating their use.

Version is 3.8.0 corrects some minor bugs and adds four new auxiliary functions.

Version is 3.8.2 fixes some minor bugs.

Version is 3.8.5 introduces two new functions: interiorProduct (contraction of a vector and a form) and LieDcartan (Lie derivative of forms using the Cartan identity).

Version is 3.8.7 introduces the function FormCoef giving the “coefficient” of a differential form in a differential form expression.

The present version is 3.8.9 corrects some minor bugs.

The package is compatible with all Mathematica versions 3.0 or later.

Download EDC (Version 3.8.9 – May 2013)

  • Download all files — compressed: EDC389.zip format (65 KB)
  • More Examples:
    • matrixEDCexamples.nb (57 kB)
    • In Sections 5 and 6 of RGTC.nb – see “Riemannian Geometry and Tensor Calculus”
  • A modification of matrixEDC for superalgebra calculations, called superEDC, is also available.


Riemannian Geometry & Tensor Calculus (RGTC)

version 3.8.9 (2013) — MATHEMATICA (version 3-9 compatible) application.

Description

This package introduces definitions for tensor calculations in Riemannian Geometry. To begin a calculation the user must specify a Riemannian space by giving:

(1) a list of symbols (= coordinates),
(2) a symmetric matrix of functions of these coordinates (= metric tensor) and
(3) a list of simplification rules (optional).

The main routine in the package — RGtensors[metric_, coordinates_] — then computes explicit expressions for all common Riemannian Geometry tensors (Riemann, Ricci, Einstein, Weyl) and tests if the space belongs to any of the following categories: Flat, Conformally Flat, Ricci Flat, Einstein Space or Space of Constant Curvature. Each tensor is stored as a nested list (of its components) under an appropriate global name.

The following functions for operating on these tensors are defined: Raise/Lower indices, Contract (multiple) indices, Covariant and Lie Differentiation and Covariant Divergence. These functions, together with the Mathematica functions Outer (giving tensor products) and Transpose (index rearrangement), provide the necessary tools for performing all common tensor operations on the computer. In addition, routines are included for computing the Plebanski tensor and for Classifying the (4-dimensional) Weyl and Ricci tensors, as well as several auxiliary functions for examining / transforming tensor components.

Tensor components can be calculated in any frame (default=coordinate frame). In a 4-dimensional null frame, in addition to the standard tensors, the main routine (RGtensors) computes all quantities appearing in the Newman-Penrose formalism (spin coefficients, Weyl and Ricci scalars, directional derivative operators). Approximate calculations (series expansions) are also possible.

The notebook RGTC.nb contains detailed Definitions of all new functions, Examples, mainly from General Relativity theory, and Usage Tips. Some more complicated examples are given here. The package includes two palettes for entering the new functions and the NP symbols / operators.

The initialization code (EDCRGTCcode.m) comes combined with the EDC code (Exterior Differential Calculus) to allow calculations in arbitrary frames as well as operations with differential forms.

The package is compatible with all Mathematica versions 3.0 or later.

Note: RGTC cannot be used for calculations with abstract tensors (manipulation of tensor expressions with abstract indices). It only operates on explicit tensors (nested lists of components which are functions of the coordinates). For abstract calculations try the package xTensor.

Download RGTC (Version 3.8.9 – May 2013)

  • Download all files – compressed:  RGTC.zip (135 KB)
  • Additional examples can be found here

Graded Exterior Differential Calculus (superEDC)

version 1.5.0 (2013) — MATHEMATICA (version 3-9 compatible) enhancement.

Description

This package is a modification of EDC (Exterior Differential Calculus) to enable Mathematica to carry out calculations with expressions containing Grassmann variables and Grassmann (graded) differential forms. It is intended for Superalgebra calculations.

The user is assumed to be familiar with EDC. Unlike EDC, where any symbols can be used to denote differential forms or matrices, in Graded Exterior Differential Calculus (superEDC) a specific notation for Grassmann variables must be used: all Grassmann variables must have Head “gv” (e.g., gv[1], gv[k], gv[{f[1]}, x, y]). The Wedge operator is used to denote products of Grassmann variables, as well as products of forms or matrices. The exterior derivative operator d can now handle expressions containing Grassmann variables / forms. Two sets of new functions are introduced:

  • those whose names begin with “wedge” (wedgePower, wedgeDet, wedgeInverse, wedgeD) which generalize the corresponding Mathematica functions (Power, Det, Inverse, D) to allow for the presence of Grassmann variables in their arguments. As in EDC, Wedge itself generalizes Times and Dot.
  • those whose names begin with “super” (superWedge, superTrace, superTranspose, superInverse) which are specific to (homogeneous, square) supermatrices. The definitions of these functions agree with those given in the Wikipedia Supermatrix article: http://en.wikipedia.org/wiki/Supermatrix.

   The notebook superEDCmanual.nb contains the definitions of the new functions and examples of their use, while superEDC.m is the initialization code that must be loaded first. The notebook superEDCpalette.nb is a palette for entering the new functions defined in superEDC. All files are included in the compressed archives below.

The package is compatible with all Mathematica versions 3.0 or later.

Version History

Version 1.1.7 is the initial release.

Version 1.2.1 enables wedgeD to differentiate w.r.t. Grassmann variables also.

Version 1.2.4 allows the user to define symbolic Grassmann variables with non-zero differentiable-form degree.

Version 1.3.6 corrects an error in the previous versions that did not allow zeros in the odd sectors of a supermatrix, introduces three new fuctions and modifies superTranspose so it can act on matrices representing tensors with different index positions. The superEDCmanual is rewritten and contains, as an example, a non-trivial calculation.

Version 1.3.8 allows negative / fractional powers in wedgePower, introduces definitions for body / soul and includes a palette for entering all functions defined in superEDC. Also, the material in the manual has been reorganized in a, hopefully, more readable form.

Version 1.3.9 corrects the trace error (in ordinary EDC) and eliminates a false warning, printed under Mathematica versions >5.

Version 1.4.3 improves the basic routine for recognizing even/odd variables. In some cases, the old routine gave wrong results. Also, Wedge in superEDC now allows multiplication of a symbolic with an explicit matrix. Finally, a new function (wedgeAdjoint) is defined.

Version 1.4.5 corrects some minor bugs and adds four new auxiliary functions introduced in EDC version 3.8.0.

Version 1.4.8 corrects some minor bugs.

The present version 1.5.0 adds new warning messages and the function FormCoef, which was introduced in EDC version 3.8.7.

Download (Version 1.5.0 – May 2013)

 

Skip to content