Further Examples

Load the packages:

In[1]:=

Needs["xAct`xTensor`"]

--------------------------------------------------------------------------------

Package xAct`xCore`  version 0.5.0,  {2008, 5, 16}

CopyRight (C) 2007-2008, Jose M. Martin-Garcia, under the General Public License.

--------------------------------------------------------------------------------

Package ExpressionManipulation`

CopyRight (C) 1999-2008, David J. M. Park and Ted Ersek

--------------------------------------------------------------------------------

Package xAct`xPerm`  version 1.0.1,  {2008, 5, 16}

CopyRight (C) 2003-2008, Jose M. Martin-Garcia, under the General Public License.

Connecting to external linux executable...

Connection established.

--------------------------------------------------------------------------------

Package xAct`xTensor`  version 0.9.5,  {2008, 5, 16}

CopyRight (C) 2002-2008, Jose M. Martin-Garcia, under the General Public License.

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

Define a simple manifold:

Define a 3d manifold M.The correspondint tangent vbundle TangentM is also defined:

In[2]:=

DefManifold[M, 3, {a, b, c, d, e}]

** DefManifold: Defining manifold M.

** DefVBundle: Defining vbundle TangentM.

This is all the information associated to the manifold:

In[3]:=

? M

Global`M

ManifoldQ[M]^=True
SubmanifoldsOfManifold[M]^={}
Info[M]^={manifold,}
PrintAs[M]^=M
DimOfManifold[M]^=3
TangentBundleOfManifold[M]^=TangentM
ServantsOf[M]^={TangentM}

Currently we only have one manifold:

In[4]:=

$Manifolds

Out[4]=

{M}

It can be undefined, also removing the associated tangent vbundle:

In[5]:=

UndefManifold[M]

** UndefVBundle: Undefined vbundle TangentM

** UndefManifold: Undefined manifold M

Now define a manifold with symbolic dimension and using reserved symbols as indices:

Define a constant symbol:

In[6]:=

DefConstantSymbol[dim]

** DefConstantSymbol: Defining constant symbol dim.

Then we can define a manifold MC with unspecified dimension. Note that we use the Mathematica symbols C and D. The symbol E cannot be used because it has numeric value:

In[7]:=

DefManifold[MC, dim, {A, B, C, D, F, G}]

** DefManifold: Defining manifold MC.

** DefVBundle: Defining vbundle TangentMC.

ValidateSymbol :: capital : System name C is overloaded as an abstract index.

ValidateSymbol :: capital : System name D is overloaded as an abstract index.

The symbol C has been overloaded:

In[8]:=

??C

C[i] is the default form for the ith parameter or constant generated in representing the results of various symbolic computations. More…

Attributes[C]={NHoldAll,Protected}
AbstractIndexQ[C]^=True
PrintAs[C]^=C
VBundleOfIndex[C]^=TangentMC
TangentMC`Q[C]^=True
DaggerIndex[C]^=C

In[9]:=

{Context[A], Context[C], Context[D]}

Out[9]=

{Global`, System`, System`}

Undefine the manifold:

In[10]:=

UndefManifold[MC]

** UndefVBundle: Undefined vbundle TangentMC

** UndefManifold: Undefined manifold MC

Now the additional definitions for C have been removed:

In[11]:=

??C

C[i] is the default form for the ith parameter or constant generated in representing the results of various symbolic computations. More…

Attributes[C]={NHoldAll,Protected}

Created by Mathematica  (May 16, 2008) Valid XHTML 1.1!