CovariantSeries Examples

Load the CovariantSeries Mathematica package

<<CovariantSeries`

Let's see what bitensors we can calculate

?Bitensors

And check the help text for the new functions we have added.

?CovariantSeries

?CovariantSeriesCoefficient

?SetRicciFlat

Calculate the 3rd order coefficient of the covariant series expansion of ξ. Note that these coefficients exclude the factor ((((-1))^n)/(n!)).

?XiBitensor

CovariantSeriesCoefficient[GammaBitensor,3]

10th order coefficient (equivalent to (Subscript[(σ^(a')), b'(cdefghijkl)]) ).  These expressions are not precalculated, although they are cached once they have been calculated. This caching is preserved until the Kernel is quit.

CovariantSeriesCoefficient[XiBitensor,10]

We can also calculate the coincidence limit (order 0 coefficient) of (Subscript[V, 2]):

CovariantSeriesCoefficient[VBitensor[2],0]

Also, the DeWitt coefficients:

(Subscript[a, 1]):

CovariantSeriesCoefficient[DeWittABitensor[1],0]

(Subscript[a, 2])

CovariantSeriesCoefficient[DeWittABitensor[2],0]

(Subscript[a, 3])

CovariantSeriesCoefficient[DeWittABitensor[3],0]

To output in xTensor notation, we also need to load the AvramidiToXTensor package. Note that this expects xTensor to also be installed.

<<CovariantSeries`AvramidiToXTensor`

We can then use the xTensorNotation option to specify that we want the output in xTensor form:

CovariantSeriesCoefficient[XiBitensor,10,xTensorNotation->True]

Note that here there is an implicit symmetrization (abcdefghij). Also note that all indices are at x, so what we really have is (Subscript[(ξ^a), b])=((Subscript[g, a'])^a)((Subscript[g, b])^(b'))(Subscript[(σ^(a')), b']).

CovariantSeriesCoefficient[LambdaBitensor,10,xTensorNotation->True]

We can also calculate coincidence limits of (Subscript[V, n]) (equivalently, the DeWitt (Subscript[a, n+1])) and canonicalize with Invar:

<<xAct`Invar`

Set the potential to be ξ R'

NumericQ[ξ]=True

PotentialRule={IndexRuleDelayed[PotentialP[inds__],Fold[CD[#2][#1]&,ξ Scalar[RiemannCD[a,b,-a,-b]],{inds}]],IndexRule[PotentialP[],ξ Scalar[RiemannCD[a,b,-a,-b]]]};

(Subscript[V, 0])

CovariantSeriesCoefficient[VBitensor[0],0,xTensorNotation->True]/.PotentialRule//.CurvatureRelations[CD]

(Subscript[V, 1])

CovariantSeriesCoefficient[VBitensor[1],0,xTensorNotation->True]/.PotentialRule//RiemannSimplify//NoScalar

Convert to Ricci where possible:

ContractMetric[ContractMetric[%//.CurvatureRelations[CD]]//.CurvatureRelations[CD]]

(Subscript[V, 2])

CovariantSeriesCoefficient[VBitensor[2],0,xTensorNotation->True]/.PotentialRule//RiemannSimplify//NoScalar

Convert to Ricci where possible:

ContractMetric[ContractMetric[%//.CurvatureRelations[CD]]//.CurvatureRelations[CD]]//ToCanonical//NoScalar