Multiple derivatives

Date[]

{2007, 10, 29, 8, 58, 35.323786}

Here we discuss possible non-nested notations for multiple covariant derivatives.

<<xAct`xCoba`

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

Package xAct`xCore`  version 0.3.0,  {2007, 9, 24}

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

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

Package ExpressionManipulation`

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

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

Package xAct`xPerm`  version 0.6.0,  {2007, 9, 24}

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

Connecting to external linux executable...

Connection established.

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

Package xAct`xTensor`  version 0.9.2,  {2007, 10, 19}

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

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

Package xAct`xCoba`  version 0.6.0,  {2007, 9, 20}

CopyRight (C) 2005-2007, David Yllanes and Jose M. Martin-Garcia, under the General Public License.

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

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

Off[General :: spell, General :: spell1]

$PrePrint = ScreenDollarIndices ;

Define some background objects:

DefManifold[M, 4, {a, b, c, d, e, f, g}, z]

** DefManifold: Defining manifold M.

** DefVBundle: Defining vbundle TangentM.

DefCovD[CD[-a], {";", "▽"}]

** DefCovD: Defining covariant derivative CD[-a] .

** DefTensor: Defining vanishing torsion tensor TorsionCD[a, -b, -c] .

** DefTensor: Defining symmetric Christoffel tensor ChristoffelCD[a, -b, -c] .

** DefTensor: Defining Riemann tensor RiemannCD[-a, -b, -c, d] . Antisymmetric only in the first pair.

** DefTensor: Defining non-symmetric Ricci tensor RicciCD[-a, -b] .

** DefCovD:  Contractions of Riemann automatically replaced by Ricci.

DefBasis[polar, TangentM, {0, 1, 2, 3}]

** DefCovD: Defining parallel derivative PDpolar[-a] .

** DefTensor: Defining torsion tensor TorsionPDpolar[a, -b, -c] .

** DefTensor: Defining non-symmetric Christoffel tensor ChristoffelPDpolar[a, -b, -c] .

** DefTensor: Defining vanishing Riemann tensor RiemannPDpolar[-a, -b, -c, d] .

** DefTensor: Defining vanishing Ricci tensor RicciPDpolar[-a, -b] .

** DefTensor: Defining antisymmetric +1 density etaUppolar[a, b, c, d] .

** DefTensor: Defining antisymmetric -1 density etaDownpolar[-a, -b, -c, -d] .

DefTensor[T[a], M]

** DefTensor: Defining tensor T[a] .

Now we can have several derivative expressions. There are three issues to worry about:
    1) nested derivatives,
    2) basis contraction, and
    3) metric contraction,
though it is clear that 2) and 3) are very similar in spirit. Let us first worry about nested derivatives:

The current notation is simple for the internals of xTensor, but users complain, and so I should be able to do something better. There are several things that will not be changed:
    - xTensor handles different covariant derivatives at the same time, and therefore we need to keep track of which derivative we are talking about.
    - Derivatives are operators on expressions and therefore at least two pairs of brackets (one for indices and one for the differentiated expression) are needed.

CD[-a][CD[-b][T[c]]]

▽_a▽_bT_ ^c

It would be nice to have this as

CD[-a, -b][ T[c] ]

CD[-a, -b][T_ ^c]

or perhaps as

CD[-b, -a][ T[c] ]

CD[-b, -a][T_ ^c]

Apart from the choice between these two options (which is just a convention), there is the more important question of which one is the internal notation, into which the other one is automatically converted. What we are discussing here is the possibility of having CD[-a, -b][ T[c] ] as internal notation. The other case is trivially defined in the current structure of xTensor.

Now comes the second problem: what is

CD[-a, {-b, -polar}][ T[c] ]

CD[-a, {-b, -polar}][T_ ^c]

Is it

CD[-a][ CD[{-b, -polar}][ T[c] ] ]

▽_a▽_bT_ ^c

SeparateBasis[][%]

** DefTensor: Defining tensor ChristoffelCDPDpolar[a, -b, -c] .

e_ ( b)^d  (▽_a▽_dT_ ^c) + Γ[▽, ] _ ( ab)^(d  ) (▽_dT_ ^c)

or just the first term in the previous expression? The same problem happens with the metric. It could be natural to use the oportunity of this new notation to make these two objects mean different things, as long as the user knows what he is doing.

CD[-a][ CD[{-b, -polar}][ T[c] ] ]

▽_a▽_bT_ ^c

CD[-a, {-b, -polar}][ T[c] ]

CD[-a, {-b, -polar}][T_ ^c]

A third point is the old problem of the components of a covariant derivative. Here the natural notation could be something like

T[c, CD[-a], CD[-b]] ;

whose components could be of the form

T[{0, polar}, CD[{1, -polar}], CD[{2, -polar}]] ;

It is difficult to decide what to choose as basic internal notation...


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