The orthogonal splitting

Theoretical summary

Let (ℳ, (Subscript[g, ab])) be a space-time and consider a (normalized) vector field (OverVector[n]) defined on ℳ. The vector field (OverVector[n]) can be taken as the basic element to find the orthogonal splitting of the main geometric quantities of (ℳ, (Subscript[g, ab])):

The orthogonal splitting of the metric tensor:

(Subscript[g, ab])=(Subscript[h, ab])+(((Subscript[n, a])(Subscript[n, b]))/(g((OverVector[n]),(OverVector[n])))),

where (Subscript[h, ab]) is the first fundamental form.

The orthogonal splitting of the Levi-Civita covariant derivative of  (OverVector[n]):

(Subscript[∇, a])(Subscript[n, b])=(Subscript[K, ab])+(Subscript[A, b])(Subscript[n, a]),

where (Subscript[K, ab]) is the second fundamental form. (Subscript[K, ab]) is symmetric if (OverVector[n]) is hypersurface forming.

The induced covariant derivative (Subscript[D, a]):

(Subscript[D, a])(Subscript[T, (Subscript[b, 1])… (Subscript[b, p])])=((Subscript[h, a])^p)((Subscript[h, (Subscript[b, 1])])^(Subscript[c, 1]))⋯ ((Subscript[h, (Subscript[b, p])])^(Subscript[c, p]))(Subscript[∇, p])(Subscript[T, (Subscript[c, 1])… (Subscript[c, p])]) ,

where ∇ is the Levi-Civita covariant derivative compatible with (Subscript[g, ab]).

Orthogonal splitting of the Weyl, Riemann and Einstein tensors.

Gauß equation: ({{h, ({{ , e}, {a,  }})}}) ({{h, ({{ , f}, {b,  }})}}) ({{h, ({{ , h}, {c,  }})}}) ({{h, ({{ , j}, {d,  }})}}) ({{R, ({{ ,  ,  ,  }, {e, f, h, j}})}})==({{(OverBar[R]), ({{ ,  ,  ,  }, {a, b, c, d}})}})+((({{K, ({{ ,  }, {a, d}})}}) ({{K, ({{ ,  }, {b, c}})}}))/((({{n, ({{ }, {a}})}}) ({{n, ({{a}, { }})}}))))-((({{K, ({{ ,  }, {a, c}})}}) ({{K, ({{ ,  }, {b, d}})}}))/((({{n, ({{ }, {a}})}}) ({{n, ({{a}, { }})}}))))

Codazzi equation: ({{h, ({{ , e}, {a,  }})}}) ({{h, ({{ , f}, {b,  }})}}) ({{h, ({{ , h}, {c,  }})}}) ({{n, ({{d}, { }})}}) ({{R, ({{ ,  ,  ,  }, {d, h, e, f}})}})=-((Subscript[D, a])({{K, ({{ ,  }, {b, c}})}}))+(Subscript[D, b])({{K, ({{ ,  }, {a, c}})}})

Ricci equation: ({{h, ({{ , e}, {a,  }})}}) ({{h, ({{ , f}, {b,  }})}}) ({{n, ({{c}, { }})}}) ({{n, ({{d}, { }})}}) ({{R, ({{ ,  ,  ,  }, {c, e, d, f}})}})=({{K, ({{ , c}, {a,  }})}}) ({{K, ({{ ,  }, {b, c}})}})-({{A, ({{ }, {a}})}}) ({{A, ({{ }, {b}})}}) (({{n, ({{ }, {a}})}}) ({{n, ({{a}, { }})}}))+(({{n, ({{ }, {a}})}}) ({{n, ({{a}, { }})}})) ((Subscript[D, b])({{A, ({{ }, {a}})}}))-(Subscript[ℒ, n])({{K, ({{ ,  }, {c, d}})}})

ADM formalism (dimension 4).

Evolution equations: 
	(Subscript[ℒ, n])({{K, ({{ ,  }, {b, d}})}})==(1/6) (-6 ({{(OverBar[R]), ({{ ,  }, {b, d}})}})+3 ({{h, ({{ ,  }, {b, d}})}}) ({{S, ({{a,  }, { , a}})}})+3 ({{S, ({{ ,  }, {b, d}})}})+((6 ({{K, ({{a,  }, { , a}})}}) ({{K, ({{ ,  }, {b, d}})}}))/((({{n, ({{ }, {a}})}}) ({{n, ({{a}, { }})}}))))+((6 ({{K, ({{ , a}, {b,  }})}}) ({{K, ({{ ,  }, {d, a}})}}) (-1+(({{n, ({{ }, {a}})}}) ({{n, ({{a}, { }})}}))))/((({{n, ({{ }, {a}})}}) ({{n, ({{a}, { }})}}))))-6 ({{A, ({{ }, {b}})}}) ({{A, ({{ }, {d}})}}) (({{n, ({{ }, {a}})}}) ({{n, ({{a}, { }})}}))-3 ({{S, ({{ ,  }, {b, d}})}}) (({{n, ({{ }, {a}})}}) ({{n, ({{a}, { }})}}))-4 ({{h, ({{ ,  }, {b, d}})}}) (({{S, ({{a,  }, { , a}})}}))+2 ({{h, ({{ ,  }, {b, d}})}}) (({{n, ({{ }, {a}})}}) ({{n, ({{a}, { }})}})) (({{S, ({{a,  }, { , a}})}}))-({{h, ({{ ,  }, {b, d}})}}) Ξ-((4 ({{h, ({{ ,  }, {b, d}})}}) Ξ)/((({{n, ({{ }, {a}})}}) ({{n, ({{a}, { }})}}))))+6 (({{n, ({{ }, {a}})}}) ({{n, ({{a}, { }})}})) ((Subscript[D, d])({{A, ({{ }, {b}})}})))
	(Subscript[ℒ, n])({{h, ({{ ,  }, {a, b}})}})=2 ({{K, ({{ ,  }, {a, b}})}})

	Constraint equations:

	Hamiltonian constraint: Ξ==(1/2) ((((({{K, ({{a,  }, { , a}})}})))^2)-(({{K, ({{ ,  }, {a, b}})}}) ({{K, ({{a, b}, { ,  }})}}))-(OverBar[R]) (({{n, ({{ }, {a}})}}) ({{n, ({{a}, { }})}})))
	Momentum constraint: ({{J, ({{ }, {d}})}})==(Subscript[D, c])({{K, ({{ , c}, {d,  }})}})-(Subscript[D, d])({{K, ({{c,  }, { , c}})}})

A more advanced case study involving the analysis of a general timelike congruence and its kinematical quantities can be found here:
https://github.com/xAct-contrib/examples/blob/master/TimelikeCongruence.nb

Initialization

Package loading

Exit

<<xAct`xTensor`

Some preliminary arrangements.

<<xAct`ShowTime1`

$ShowTimeThreshold

$PrePrint=ScreenDollarIndices;

SetOptions[ContractMetric,AllowUpperDerivatives->True]

ApplyRule[expr_]:=MakeRule[Evaluate[List@@expr],MetricOn->All,ContractMetrics->True]

ApplyRuleN[expr_]:=MakeRule[Evaluate[List@@expr]]

$Equations={};

SetAttributes[AddEquation,HoldAll]
AddEquation[expr_Symbol]:=AppendTo[$Equations,Hold[expr]]

Space-time definition

We define a 4-dimensional manifold (spacetime manifold).

DefManifold[M4,4,{a,b,c,d,e,p,q,r,l,f,h,m,x,y,z,j,k,s}]

We define the spacetime metric.

DefMetric[-1,g[-a,-b],CD,{";","▽"}]

Output printing options for some quantities

{PrintAs[epsilong]^="η",PrintAs[RiemannCD]^="R",PrintAs[WeylCD]^="W",PrintAs[RicciCD]^="R",PrintAs[RicciScalarCD]^="R",PrintAs[EinsteinCD]^="G"};

We define a normal vector:

DefTensor[n[a],M4]

We assume that the normal vector is constant:

DefConstantSymbol[φ]

DefInertHead[ABS]

ABS represents absolute value:

φ==Sqrt[Scalar@ABS[n[-a]n[a]]]

Defineφ=%;

AddEquation@Defineφ;

Power[#,2]&/@Defineφ

Solve[%,Scalar@ABS[n[-a]n[a]]]//Flatten

Equal@@First@%

NoScalar/@%

NormSquareToφ=%;

AddEquation@NormSquareToφ;

Introduce a constant symbol representing ±1:

DefConstantSymbol[ϵ]

Basic properties:

ϵ/:Power[ϵ,n_?EvenQ]:=1

ϵ/:Power[ϵ,n_?OddQ]:=ϵ

By definition:

n[-a]n[a]==ϵ φ^2

PutScalar/@%

NormSquareToφNoABS=%;

AddEquation@NormSquareToφNoABS;

AutomaticRules[n,ApplyRule@NormSquareToφNoABS]

$Rules

Definition of the spatial metric

Sign convention to define the extrinsic curvature and the acceleration. These are global variables which can be modified by the user.

$ExtrinsicKSign=1;$AccelerationSign=1;

Next we introduce the induced metric. This is a metric called metrich[-a,-b] and its Levi-Civita covariat derivative is cd (spatial covariant derivative).

DefMetric[1,metrich[-a,-b],cd,{"|","D"},InducedFrom->{g,n},PrintAs->"h"]

Along with the spatial metric and the spatial covariant derivative many new quantities are introduced. Among them we find the acceleration of the unit normal n[a], the extrinsic curvature, the spatial volume element,  the curvature tensors of the spatial covariant derivative and the orthogonal projector operator.

ServantsOf@metrich

ServantsOf@cd

We set the output printing for some of the objects which have been defined together with the induced metric.

{PrintAs[ExtrinsicKmetrich]^="K",PrintAs[Riemanncd]^="(OverBar[R])",PrintAs[Riccicd]^="(OverBar[R])",PrintAs[RicciScalarcd]^="(OverBar[R])",PrintAs[Accelerationn]^="A",PrintAs[epsilonmetrich]^="ε"};

Output printing.

{Accelerationn[-a],ExtrinsicKmetrich[-a,-b],Riemanncd[-a,-b,-c,d],Riccicd[-a,-b]}

All these quantities are spatial. This means that their contraction with (Subscript[n, a]^( )) vanishes.

Times[#,n[a]]&/@%

Also they are invariant with respect to the action of the spacetime metric

Times[#,metrich[a,f]]&/@%%

Some important predefined relations.

$ExtrinsicKSign=1;$AccelerationSign=1;

CD[-a]@n[-b]==(CD[-a]@n[-b]//GradNormalToExtrinsicK)

CDN=%;

AddEquation@CDN;

$Equations

%//ReleaseHold

From here we get the expression of the acceleration and the second fundamental form.

Times[#,n[a]]&/@CDN

ToCanonical/@(ContractMetric/@%)

Expand/@%

PutScalar/@%

Simplification@%

The projection of any expression in all its free indices is carried out with ProjectWith:

?ProjectWith

Example:

ProjectWith[metrich]/@CDN

Solve[%,ExtrinsicKmetrich[-b,-a]]//Flatten

%[[1]]/.Rule->Equal

ToCanonical/@%

ExtrinsicToGradNormal=%;

AddEquation@ExtrinsicToGradNormal;

$Equations

Projectormetrich[RiemannCD[-a,-b,-c,-d]]==ProjectWith[metrich][RiemannCD[-a,-b,-c,-d]]

The orthogonal projection does not change quantities which are already spatial.  We add these properties here  for the Lie and covariant derivatives of spatial quantities:

HoldPattern@Projectormetrich@LieD[n[s_]]@expr_:=LieD[n[s]]@expr/;OrthogonalToVectorQ[n]@expr;

HoldPattern@Projectormetrich@CD[a_]@expr_:=cd[a]@expr/;OrthogonalToVectorQ[n]@expr;

LieD[n[a]]@Accelerationn[-b]

n[b]%

Predicate function to check whether a tensor or tensorial expressions are orthogonal or not:

?OrthogonalToVectorQ

Orthogonal decomposition of the 4-dimensional volume element

Our convention to define the spatial volume element is given by:

epsilong[-a,-b,-c,-d]n[a]==epsilonmetrich[-b,-c,-d]/φ

Epsilon4ToEpsilon3=%

AddEquation@Epsilon4ToEpsilon3;

where (Subscript[η, abcd]^(    )) is the 4-dimensional volume element.  Therefore

Epsilon4ToEpsilon3[[2]]==Epsilon4ToEpsilon3[[1]]

Times[#,φ]&/@%

Epsilon3ToEpsilon4=%

AddEquation@Epsilon3ToEpsilon4;

We wish to find the orthogonal splitting of (Subscript[η, abcd]^(    )). To that end we use the command InducedDecomposition. This command enables us to compute the orthogonal splitting of any tensor or tensorial expression:

?InducedDecomposition

epsilong[-a,-b,-c,-d]==InducedDecomposition[epsilong[-a,-b,-c,-d],{metrich,n}]

Some of these terms are obviously zero. This fact is taken care of during the canonicalisation.

ToCanonical/@%

The spatial volume element appears explicitly in other terms. To see it we apply the rule (Subscript[η, abcd]^(    )) (Subscript[n,  ]^a)==(Subscript[ε, bcd]^(   ))

%/.ApplyRule@Epsilon4ToEpsilon3

Finally (Underscript[P, h])[(Subscript[η, abcd]^(    ))] is essentially the four dimensional determinant of the spatial metric and hence it vanishes.

%/._Projectormetrich:>0

%/.ApplyRule@NormSquareToφNoABS

We keep this important rule for later use:

DecomposeEpsilong=%

AddEquation@DecomposeEpsilong;

Recall that Projectormetrich is an inert head representing the orthogonal projection operation acting on any tensorial expression:

MasterOf@Projectormetrich

Decomposition of a spacetime covariant derivative: orthogonal decomposition of (Subscript[▽, b])(Subscript[A, a]^( ))

This illustrates how to find the orthogonal splitting of the space-time covariant derivative of a spatial quantity.

We start from the formula:

LieD[n[s]]@Accelerationn[-a]==LieDToCovD[LieD[n[s]]@Accelerationn[-a],CD]

ScreenDollarIndices/@%

MapAt[Hold,%,Position[%,n[b]CD[-b]@Accelerationn[-a]]]

Solve[%,Hold[n[b]CD[-b]@Accelerationn[-a]]]//Flatten//ReleaseHold

%[[1]]/.Rule->Equal

%//GradNormalToExtrinsicK

ToCanonical/@%

NCDAcceleration=%;

AddEquation@NCDAcceleration;

We are ready to obtain the orthogonal splitting of (Subscript[▽, a])({{A, ({{ }, {b}})}})

CD[-a]@Accelerationn[-b]==InducedDecomposition[CD[-a]@Accelerationn[-b],{metrich,n}]

%/.ApplyRule@NCDAcceleration

Expand//@%

We want that everything is left in terms of (Subscript[ℒ, n])({{A, ({{ }, {b}})}}) which is spatial:

%/.MakeRule[{n[e]CD[-a]@Accelerationn[-e],-CD[-a]@n[e]Accelerationn[-e]},MetricOn->All,ContractMetrics->True]

%//GradNormalToExtrinsicK

Expand//@%

%/.Projectormetrich->ProjectWith[metrich]

ToCanonical/@%

NoScalar/@%

ToCanonical/@%

PutScalar/@%

DecomposeCDAcceleration=%

AddEquation@DecomposeCDAcceleration;

Orthogonal decomposition of (Subscript[▽, c])(Subscript[K, ab]^(  ))

The computation is similar to the previous case with the acceleration:

We start from the formula:

LieD[n[s]]@ExtrinsicKmetrich[-a,-b]==LieDToCovD[LieD[n[s]]@ExtrinsicKmetrich[-a,-b],CD]

ScreenDollarIndices/@%

MapAt[Hold,%,Position[%,n[c]CD[-c]@ExtrinsicKmetrich[-a,-b]]]

Solve[%,Hold[n[c]CD[-c]@ExtrinsicKmetrich[-a,-b]]]//Flatten//ReleaseHold

%[[1]]/.Rule->Equal

%//GradNormalToExtrinsicK

ToCanonical/@%

NCDExtrinsicK=%;

AddEquation@NCDExtrinsicK;

We are ready to obtain the orthogonal splitting of (Subscript[▽, a])({{K, ({{ ,  }, {b, c}})}})

CD[-a]@ExtrinsicKmetrich[-b,-c]==InducedDecomposition[CD[-a]@ExtrinsicKmetrich[-b,-c],{metrich,n}]

%/.ApplyRule@NCDExtrinsicK

Expand//@%

%/.MakeRule[{n[e]CD[-a]@ExtrinsicKmetrich[-b,-e],-CD[-a]@n[e]ExtrinsicKmetrich[-b,-e]},MetricOn->All,ContractMetrics->True]

%//GradNormalToExtrinsicK

Expand//@%

%/.Projectormetrich->ProjectWith[metrich]

ToCanonical/@%

This is the final form of the orthogonal splitting: note how al the terms are products of the normal and spatial quantities:

%/.$Rules

DecomposeCDExtrinsicK=%

AddEquation@DecomposeCDExtrinsicK;

Weyl tensor electric and magnetic parts

The Weyl tensor electric part (this illustrates  how to define a tensor which is orthogonal to the normal vector field):

DefTensor[Ee[-a,-b],M4,Symmetric[{-a,-b}],OrthogonalTo->{n[a]},ProjectedWith->{metrich[a,-c]},PrintAs->"E"]

The Weyl tensor magnetic part:

DefTensor[B[-a,-b],M4,Symmetric[{-a,-b}],OrthogonalTo->{n[a]},ProjectedWith->{metrich[a,-c]},PrintAs->"B"]

For later use we define the Weyl tensor right dual:

DefTensor[WCD01[-a,-b,-c,-d],M4,GenSet[-Cycles[{-a,-b}],-Cycles[{-c,-d}]],PrintAs->"(SuperStar[W])"]

The Weyl tensor electric and magnetic parts are traceless (this illustrates the use of AutomaticRules):

AutomaticRules[Ee,MakeRule[{Ee[a,-a],0},MetricOn->All,ContractMetrics->True]]

AutomaticRules[B,MakeRule[{B[a,-a],0},MetricOn->All,ContractMetrics->True]]

Our conventions for the definition of the electric and magnetic parts of Weyl tensor:

WeylCD[-a,-b,-c,-d]n[b]n[d]==Ee[-a,-c]

WCD01[-a,-b,-c,-d]n[b]n[d]==B[-a,-c]

AutomaticRules[WeylCD,MakeRule[{WeylCD[-a,-b,-c,-d]n[b]n[d],Ee[-a,-c]},MetricOn->All,ContractMetrics->True]]

AutomaticRules[WCD01,MakeRule[{WCD01[-a,-b,-c,-d]n[b]n[d],B[-a,-c]},MetricOn->All,ContractMetrics->True]]

Orthogonal decomposition of the Weyl tensor

We wish to find the orthogonal decomposition of the Weyl tensor. To that end we use again the command  InducedDecomposition.

WeylCD[-a,-b,-c,-d]==InducedDecomposition[WeylCD[-a,-b,-c,-d],{metrich,n}]

ToCanonical/@%

Stage1=%

We need to study separately some terms of this expression. These are (Underscript[P, h])[(Subscript[n,  ]^e) (Subscript[W, becd]^(    ))] and (Underscript[P, h])[(Subscript[W, abcd]^(    ))]

Study of (Underscript[P, h])[(Subscript[n,  ]^e) (Subscript[W, becd]^(    ))]

We start from the identity

Projectormetrich[n[e]*WeylCD[-b,-e,-c,-d]]==1/2n[e]metrich[-b,a]Hold@epsilonmetrich[-c,-d,-p]epsilonmetrich[f,h,p]WeylCD[-a,-e,-f,-h]

In this last expression (Subscript[ε, "cdj"]^("   ")) has been wrapped with Hold to prevent the automatic expansion of the product (Subscript[ε, "   "]^("jfh"))(Subscript[ε, "cdj"]^("   ")). We replace one of the spatial volume elements by its definition in terms of the spacetime volume element

MapAt[ReplaceAll[#,ApplyRule@Epsilon3ToEpsilon4]&,%,Position[%,epsilonmetrich[f,h,p]]]

%//ReleaseHold

Finally we replace the product ({{η, ({{ , f, h, p}, {j,  ,  ,  }})}}) ({{W, ({{ ,  ,  ,  }, {a, e, f, h}})}})  by the right dual of the Weyl tensor. This yields an expression in terms of the Weyl tensor magnetic part.

%/.MakeRule[{epsilong[-c,-d,-p,-q]WeylCD[-a,-b,p,q],2WCD01[-a,-b,-c,-d]},MetricOn->All,ContractMetrics->True]

PmetrichNWeylCD=%

AddEquation@PmetrichNWeylCD;

Study of (Underscript[P, h])[(Subscript[W, abcd]^(    ))]

We start from the identity

Projectormetrich[WeylCD[-a,-b,-c,-d]]==1/4Hold@epsilonmetrich[-a,-b,-p]Hold@epsilonmetrich[e,f,p]Hold@epsilonmetrich[-c,-d,-q]Hold@epsilonmetrich[h,j,q]WeylCD[-e,-f,-h,-j]

MapAt[ReplaceAll[#,ApplyRule@Epsilon3ToEpsilon4]&,%,Position[%,Hold[epsilonmetrich[e,f,p]]]]

MapAt[ReplaceAll[#,ApplyRule@Epsilon3ToEpsilon4]&,%,Position[%,Hold[epsilonmetrich[h,j,q]]]]

%//ReleaseHold

ToCanonical/@(ContractMetric/@%)

ProjectorWeyl=%;

AddEquation@ProjectorWeyl;

Final expression for the orthogonal decomposition of the Weyl tensor

So we insert the results found in previous slides in Stage1

Stage1

%/.ApplyRule@PmetrichNWeylCD

%/.ApplyRule@ProjectorWeyl

%/.ApplyRule@NormSquareToφNoABS

ToCanonical/@%

%/.ϵ^(-2)->1

This is the final form for the orthogonal decomposition of Riemann tensor

DecomposeWeyl=%

Orthogonal splitting of the Einstein tensor

First of all, we define the different quantities which appear in the orthogonal splitting of the Einstein tensor.

Energy-momentum density:

DefTensor[Ξ[],M4]

By definition

EinsteinCD[-a,-b]n[a]n[b]==Ξ[]

EnergyDensity=%;

AddEquation@EnergyDensity;

Momentum flux

DefTensor[J[-a],M4,OrthogonalTo->{n[a]},ProjectedWith->{metrich[a,-d]}]

By definition

Projectormetrich[EinsteinCD[-a,-c]n[c]]==J[-a]

MomentumFlux=%;

AddEquation@MomentumFlux;

Stress tensor:

DefTensor[S[-a,-b],M4,Symmetric[{-a,-b}],OrthogonalTo->{n[b]},ProjectedWith->{metrich[b,-d]}]

By definition

Projectormetrich[EinsteinCD[-a,-b]]==S[-a,-b]

StressTensor=%;

AddEquation@StressTensor;

We perform the 1+3 decomposition of  Einstein tensor in terms of these quantities

EinsteinCD[-a,-b]==InducedDecomposition[EinsteinCD[-a,-b],{metrich,n}]

%/.ApplyRule@EnergyDensity/.ApplyRule@MomentumFlux/.ApplyRule@StressTensor

%/.$Rules

DecomposeEinstein=%;

From here we deduce the decomposition of the Ricci tensor

%//EinsteinToRicci

%//MetricToProjector

Solve[%,RicciCD[-a,-b]]//Flatten

%[[1]]/.Rule->Equal

%/.$Rules

DecomposeRicci=%;

AddEquation@DecomposeRicci;

ReplaceIndex[Evaluate@DecomposeRicci,{-a->b}]

PutScalar/@%

%/.$Rules

IndexSolve[%,RicciScalarCD[]]//Flatten//First

DecomposeRicciScalar=%;

AddEquation@DecomposeRicciScalar;

DecomposeRicci/.DecomposeRicciScalar

PutScalar/@%

ToCanonical@%

Collect[#,{n[-a_]n[-b_],n[-a_]},Simplify]&/@%

DecomposeRicci=%;

AddEquation@DecomposeRicci;

Orthogonal splitting of the Riemann tensor

We have now all the information to carry out the orthogonal splitting of the Riemann tensor:

RiemannCD[-a,-b,-c,-d]==(RiemannCD[-a,-b,-c,-d]//RiemannToWeyl)

%/.ApplyRule@DecomposeRicci

%/.ApplyRule@DecomposeWeyl

%/.DecomposeRicciScalar

PutScalar/@%;

%//MetricToProjector;

ToCanonical@%;

%/.$Rules;

Collect[#,n[-a_]n[-b_],Simplification]&/@%

%/.ApplyRule@NormSquareToφNoABS

Collect[#,n[-a_]n[-b_],Simplification]&/@%

DecomposeRiemann=%;

AddEquation@DecomposeRiemann;

Gauß, Codazzi and Ricci equations

The following command generalizes the classical Gauß, Codazzi and Ricci equations:

?GaussCodazzi

Complete decomposition of the Riemann tensor:

RiemannCD[-a,-b,-c,-d]==GaussCodazzi[RiemannCD[-a,-b,-c,-d],metrich]

From the complete decomposition we can obtain the classical Gauß relation:

Projectormetrich/@%

%/.Projectormetrich->ProjectWith[metrich]

%/.$Rules

GaussEquation=%;

AddEquation@GaussEquation;

From the complete decomposition we can obtain the classical Codazzi relation :

RiemannCD[-d,-h,-e,-f]==GaussCodazzi[RiemannCD[-d,-h,-e,-f],metrich];

Times[metrich[-a,e]metrich[-b,f]metrich[-c,h]n[d],#]&/@%;

PutScalar/@%

ToCanonical@%

CodazziEquation=%;

AddEquation@CodazziEquation;

From the complete decomposition we can obtain the classical Ricci relation:

RiemannCD[-c,-e,-d,-f]==GaussCodazzi[RiemannCD[-c,-e,-d,-f],metrich];

Times[metrich[-a,e]metrich[-b,f]n[c]n[d],#]&/@%

Expand/@%

%/.ApplyRule@NCDExtrinsicK

Expand/@%

%/.Projectormetrich->ProjectWith[metrich]

PutScalar/@%

ToCanonical@%

%/.$Rules

RicciEquation=%;

ADM formalism

Start with the generalized Gauß-Codazzi decomposition of the Riemann tensor:

RiemannCD[-a,-b,-c,-d]==GaussCodazzi[RiemannCD[-a,-b,-c,-d],metrich]

Write this in terms of the Lie derivative of the second fundamental form:

%/.ApplyRule@NCDExtrinsicK

%/.Projectormetrich->ProjectWith@metrich

%/.$Rules

Use the decomposition of the Riemann tensor obtained before:

%/.ApplyRule@DecomposeRiemann

First@%-Last@%==0;

Collect[#,{n[b_]n[a_],n[c_]},ToCanonical]&/@%

MasterEquation=%;

AddEquation@MasterEquation;

The coefficients of the master equation with respect to the unit normal give us the ADM equations:

Coefficient[MasterEquation,n[-a]n[-c]]

Solve[%,LieD[n[a]]@ExtrinsicKmetrich[-b,-d]]//Flatten

Equal@@First@%

LieDExtrinsicKmetrich=%;

AddEquation@LieDExtrinsicKmetrich;

Coefficient[MasterEquation,n[-a]]/.n[-d]->0/.n[-c]->0

We isolate from here the Weyl tensor magnetic part:

Times[#,epsilonmetrich[c,d,-f]]&/@%

ContractMetric@%

Solve[%,B[-f,-b]]//Flatten

Equal@@First@%

MagneticPart=%;

AddEquation@MagneticPart;

ProjectWith[metrich]@MasterEquation

%/.-c->a

ToCanonical@ContractMetric@%

Solve[%,Ee[-b,-d]]//Flatten

Equal@@First@%

ElectricPart=%;

AddEquation@ElectricPart;

LieDExtrinsicKmetrich/.ApplyRule@ElectricPart

Simplification@%

EvolutionExtrinsicADM=%;

AddEquation@EvolutionExtrinsicADM;

These are the constraint eqs in the ADM formalism:

ElectricPart/.-b->d

PutScalar/@%

ToCanonical@%

Solve[%,Ξ[]]//Flatten

Equal@@First@%

HamiltonianConstraint=%;

AddEquation@HamiltonianConstraint;

We compute next the momentum constraint:

Coefficient[MasterEquation,n[-a]]/.n[-d]->0/.n[-c]->0

%/.-b->c

ToCanonical@%

Solve[%,J[-d]]//Flatten

Equal@@First@%

MomentumConstraint=%;

AddEquation@MomentumConstraint;

{EvolutionExtrinsicADM,HamiltonianConstraint,MomentumConstraint}

LieD[n[b]]@metrich[-a,-b]

%//ToCanonical

ElectricPart

MagneticPart

Exercises

Exercise 1

Verify the identity:

Identity1=Projectormetrich[n[e]*WeylCD[-b,-e,-c,-d]]==1/2n[e]metrich[-b,a]Hold@epsilonmetrich[-c,-d,-p]epsilonmetrich[f,h,p]WeylCD[-a,-e,-f,-h]

Answer

Identity1//ReleaseHold

%/.Projectormetrich->ProjectWith[metrich]

ToCanonical@%

Exercise 2

Verify the identity:

Identity2=Projectormetrich[WeylCD[-a,-b,-c,-d]]==1/4Hold@epsilonmetrich[-a,-b,-p]Hold@epsilonmetrich[e,f,p]Hold@epsilonmetrich[-c,-d,-q]Hold@epsilonmetrich[h,j,q]WeylCD[-e,-f,-h,-j]

Answer

Identity2/.Hold@epsilonmetrich[-a,-b,-p]Hold@epsilonmetrich[e,f,p]->epsilonmetrich[-a,-b,-p]epsilonmetrich[e,f,p]

%/.Hold@epsilonmetrich[-c,-d,-q]Hold@epsilonmetrich[h,j,q]->epsilonmetrich[-c,-d,-q]epsilonmetrich[h,j,q]

%/.Projectormetrich->ProjectWith[metrich]

ToCanonical@%