Load packages
Load packages
In[]:=
<<xAct`xTensor`<<xAct`TexAct`<<xAct`xTras`<<xAct`xCoba`
Clear variables
Clear variables
In[]:=
ClearAll["Global`*"];UndefTensor@$Tensors;UndefMetric@$Metrics;UndefConstantSymbol[dim];NotebookDelete[Cells[EvaluationNotebook[],GeneratedCell->True]]
Initialize fundamental quantities
Initialize fundamental quantities
In[]:=
(*Dimensionofthemanifold*)DefConstantSymbol[dim];$Assumptions=dim>2;
** DefConstantSymbol: Defining constant symbol dim.
In[]:=
(*Manifold*)DefManifold[M,dim,Join[IndexRange[a,e],IndexRange[i,n]]];
** DefManifold: Defining manifold M.
** DefVBundle: Defining vbundle TangentM.
In[]:=
(*Lorentzianmetric*)DefMetric[-1,g[-a,-b],lc];
** DefTensor: Defining symmetric metric tensor g[-a,-b].
** DefTensor: Defining antisymmetric tensor epsilong[-a,-b].
** DefCovD: Defining covariant derivative lc[-a].
** DefTensor: Defining vanishing torsion tensor Torsionlc[a,-b,-c].
** DefTensor: Defining symmetric Christoffel tensor Christoffellc[a,-b,-c].
** DefTensor: Defining Riemann tensor Riemannlc[-a,-b,-c,-d].
** DefTensor: Defining symmetric Ricci tensor Riccilc[-a,-b].
** DefCovD: Contractions of Riemann automatically replaced by Ricci.
** DefTensor: Defining Ricci scalar RicciScalarlc[].
** DefCovD: Contractions of Ricci automatically replaced by RicciScalar.
** DefTensor: Defining symmetric Einstein tensor Einsteinlc[-a,-b].
** DefTensor: Defining Weyl tensor Weyllc[-a,-b,-c,-d].
** DefTensor: Defining symmetric TFRicci tensor TFRiccilc[-a,-b].
** DefTensor: Defining Kretschmann scalar Kretschmannlc[].
** DefCovD: Computing RiemannToWeylRules for dim dim
** DefCovD: Computing RicciToTFRicci for dim dim
** DefCovD: Computing RicciToEinsteinRules for dim dim
** DefTensor: Defining symmetrized Riemann tensor SymRiemannlc[-a,-b,-c,-d].
** DefTensor: Defining symmetric Schouten tensor Schoutenlc[-a,-b].
** DefTensor: Defining symmetric cosmological Schouten tensor SchoutenCClc[LI[_],-a,-b].
** DefTensor: Defining symmetric cosmological Einstein tensor EinsteinCClc[LI[_],-a,-b].
** DefTensor: Defining weight +2 density Detg[]. Determinant.
** DefParameter: Defining parameter PerturbationParameterg.
** DefTensor: Defining tensor Perturbationg[LI[order],-a,-b].
In[]:=
(*Metricaffinecovariantderivative*)DefCovD[cd[-a],Torsion->True,{"|",""}];
** DefCovD: Defining covariant derivative cd[-a].
** DefTensor: Defining torsion tensor Torsioncd[a,-b,-c].
** DefTensor: Defining non-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.
Set options
Set options
In[]:=
$PrePrint=ScreenDollarIndices;$RiemannSign=-1SetOptions[ToCanonical,UseMetricOnVBundle->g];SetOptions[ContractMetric,OverDerivatives->True];
Out[]=
-1
Initialize additional tensors
Initialize additional tensors
In[]:=
(*Torsionvector*)DefTensor[T[-a],M];
T
a
** DefTensor: Defining tensor T[-a].
In[]:=
(**)DefTensor[f[-a],M];
f
a
** DefTensor: Defining tensor f[-a].
In[]:=
(*Shifttensor*)DefTensor[S[a,-b,-c],M,Symmetric[{-b,-c}]];
a
S
bc
** DefTensor: Defining tensor S[a,-b,-c].
Define tensors
Define tensors
In[]:=
(*Shifttensor:=+-*)IndexSet[S[a_,-b_,-c_],g[a,-b]f[-c]+g[a,-c]f[-b]-g[-b,-c]f[a]];
a
S
bc
a
δ
b
f
c
a
δ
c
f
b
g
bc
a
f
(*Metricaffineconnection:=++*)rule=IndexRuleChristoffelcd[a_,-b_,-c_],Christoffellc[a,-b,-c]+T[-b]g[a,-c]+S[a,-b,-c];
a
Γ
bc
a
{
bc
1
D-1
T
b
a
δ
c
1
D-2
a
S
bc
1
dim-1
1
dim-2
Compute curvature related quantities
Compute curvature related quantities
In[]:=
(*Curvaturetensor*)Riemanncd[-c,-d,-b,a]//RiemannToChristoffel;%/.rule;%//ChristoffelToGradMetric;%//Simplification
Out[]=
Hold[Throw[Null]]
In[]:=
RicciScalarcd[]
Out[]=
RicciScalarcd[]
