3. Perturbations of curvature tensors
In this section we show how ExpandPerturbation acts on the most important geometric tensors of a Riemannian manifold, at any perturbative order. We shall compare its direct action at a particular order with a recursive computation of that order from lower orders. This is both a consistency check and an example of the efficiency of the direct action.
3.1. Perturbations of the inverse metric
Let us start comparing the seventh-order recursive and direct perturbations of the inverse of our metric tensor field.
Recursively :
In[61]:=
Out[61]=
In[62]:=
Out[62]=
In[63]:=
Out[63]=
In[64]:=
Out[64]=
In[65]:=
Out[65]=
In[66]:=
Out[66]=
In[67]:=
Out[67]=
Applying ExpandPerturbation directly,
In[68]:=
Out[68]=
Comparison and check:
In[69]:=
Out[69]=
Another interesting check is proving that the perturbed inverse of the metric is in fact the inverse of the perturbed metric up to the correct order. For that we will use another xPert` command named Perturbed that expands an expression into a power series up to the order provided.
The power series of the perturbed metric up to fifth order (note that we do not use the Series construct of Mathematica)
In[70]:=
Out[70]=
The corresponding expansion for its inverse
In[71]:=
Out[71]=
And the check
In[72]:=
Out[72]=
3.2. Perturbations of the determinant of the metric and the antisymmetric tensor
Now we compute the perturbations of the determinant of the metric up to sixth order. Two comments are in order:
First, note that the result is always proportional to the determinant itself times a combination of contracted metric perturbations. This proportionality scalar depends on the dimension we are considering. In fact, for a given dimension N, there cannot be products of more than N metric perturbations (recall that N=4 in our examples). Timings are highly dependent on the dimensions because the internal algorithms use determinants of NxN matrices.
Second, the concept of determinant is basis-dependent (actually a density) and hence can only be treated properly using xCoba`, the xAct` package for component computations in a given basis. xTensor` implements a fake basis called AIndex, which we will assume throughout this subsection.
Low order perturbations of the determinant:
In[73]:=
Out[73]=
In[74]:=
Out[74]=
In[75]:=
Out[75]=
In[76]:=
Out[76]=
Now the perturbative order will exceed the dimension. Still we get just products of up to four metric perturbations. In other dimensions these formulas would be wrong:
In[77]:=
Out[77]=
In[78]:=
Out[78]=
Perturbations of the antisymmetric volume-form tensor are given in terms of the perturbations of the determinant of the metric and have a similar structure.
At first-order
In[79]:=
Out[79]=
At third-order (note the head Scalar; see the documentation of xTensor` for a description)
In[80]:=
Out[80]=
Note that now there are five h factors multiplying due to the perturbation of Sqrt[Detg[]], and not only of Detg[]. The formula is still valid only in dimension 4 for the reasons above:
In[81]:=
Out[81]=
3.3. Perturbations of the Christoffel symbols
In order to obtain the perturbation of the Christoffel symbols, we can write them in terms of partial derivatives of the metric and then apply the ExpandPerturbation command that will only act on metrics and inverse metrics. It is faster to do it directly applying ExpandPerturbation, that will calculate the perturbation by making use of non-recursive formulas for the n-th order perturbation of the Christoffel symbols. We shall check and compare the relative efficiency of both methods.
First-order perturbation of the Christoffel in terms of the metric and its inverse
In[82]:=
Out[82]=
We will frequently convert partial derivatives into covariant derivatives to help canonicalizing:
In[83]:=
Out[83]=
Comparison with the direct action of ExpandPerturbation
In[84]:=
Out[84]=
We do the same for the second-order perturbation
In[85]:=
Out[85]=
In[86]:=
Out[86]=
In[87]:=
Out[87]=
At third order
In[88]:=
Out[88]=
In[89]:=
Out[89]=
In[90]:=
Out[90]=
And finally at four order
In[91]:=
Out[91]=
In[92]:=
Out[92]=
In[93]:=
Out[93]=
Note that the first method is much slower: let us compute the seventh-order perturbations:
In[94]:=
In[95]:=
In[96]:=
Out[96]=
3.4. Perturbations of the Riemann tensor
As we have done for the Christoffel symbols, we can calculate the perturbations of Riemann in two ways. The first one will start from the expression of Riemann tensor in terms of the metric, its inverse and partial derivatives. The second will apply directly ExpandPerturbation.
At first order going through the metric
In[97]:=
Out[97]=
In[98]:=
Out[98]=
Applying directly ExpandPerturbation
In[99]:=
Out[99]=
Comparison
In[100]:=
Out[100]=
That result is usually presented with only four covariant derivatives, but with 10 Riemann terms (which vanish in vacuum):
In[101]:=
Out[101]=
At second order going through the metric
In[102]:=
Out[102]=
In[103]:=
Out[103]=
Applying directly ExpandPerturbation
In[104]:=
Out[104]=
Comparison
In[105]:=
Out[105]=
There is a large difference between the timings of both methods.
Here we show that the recursive method takes more of less the same time to compute the third-order perturbation as the direct method takes for the seventh-order one:
In[106]:=
In[107]:=
3.5. Perturbations of the Ricci tensor
The Ricci tensor is a simple trace of the Riemann tensor and hence behaves very similarly.
First-order perturbation going through the metric
In[108]:=
Out[108]=
Applying directly ExpandPerturbation
In[109]:=
Out[109]=
Comparison
In[110]:=
Out[110]=
Second-order perturbation going through the metric
In[111]:=
Out[111]=
Applying directly ExpandPerturbation
In[112]:=
Out[112]=
Comparison
In[113]:=
Out[113]=
Third-order perturbation going through the metric
In[114]:=
Out[114]=
Applying directly ExpandPerturbation
In[115]:=
Out[115]=
Comparison
In[116]:=
Out[116]=
Let us just compute the fourth-order perturbation making use only of the direct approach. Note that what really takes times is not to construct the perturbation itself but to simplify it.
In[117]:=
In[118]:=
Out[118]=
Some more examples:
In[119]:=
In[120]:=
3.6. Perturbations of the Ricci scalar
The Ricci scalar is computed from a double trace of the Riemann tensor.
In[121]:=
Out[121]=
First-order perturbation from the metric
In[122]:=
Out[122]=
Applying directly ExpandPerturbation
In[123]:=
Out[123]=
Comparison
In[124]:=
Out[124]=
Second-order perturbation from the metric
In[125]:=
Out[125]=
Applying directly ExpandPerturbation
In[126]:=
Out[126]=
Comparison
In[127]:=
Out[127]=
Third-order perturbation iteratively from metric perturbations
In[128]:=
Out[128]=
Applying directly ExpandPerturbation
In[129]:=
Out[129]=
Comparison
In[130]:=
Out[130]=
That expression is indeed only zero for a Levi-Civita connection. To show it we change back to partial derivatives and expand the Christoffels into derivatives of the metric:
In[131]:=
Out[131]=
In[132]:=
Out[132]=
Fourth-order perturbation iteratively from metric perturbations
In[133]:=
Applying directly ExpandPerturbation
In[134]:=
Comparison
In[135]:=
Out[135]=
Again, this is zero for a Levi-Civita connection (we do not use the metric in the index-canonicalization process to avoid problems with the partial derivatives):
In[136]:=
Out[136]=
In[137]:=
Out[137]=
3.7. Perturbations of the Einstein tensor
To help in the recursive computation, we define the Einstein tensor in terms of the Christoffels instead of the metric.
In[138]:=
Out[138]=
The first-order perturbation from the Christoffel perturbations:
In[139]:=
Out[139]=
Appliying directly ExpandPerturbation
In[140]:=
Out[140]=
Comparison
In[141]:=
Out[141]=
The second-order perturbation from Christoffel perturbations:
In[142]:=
Out[142]=
Applying directly ExpandPerturbation
In[143]:=
Out[143]=
Comparison
In[144]:=
Out[144]=
Note that ExpandPerturbation is really fast. The seventh-order perturbation of the Einstein tensor is computed in just a few seconds.
In[145]:=
3.8. Perturbations of the Weyl tensor
The Weyl tensor is given here in terms of Riemann, Ricci and the Ricci scalar. Giving it in terms of the metric would be too slow.
Weyl in terms of Riemann:
In[146]:=
Out[146]=
In[147]:=
Out[147]=
The first-order perturbation applying directly ExpandPerturbation is also internally computed along the same lines:
In[148]:=
Out[148]=
Comparison:
In[149]:=
Out[149]=
| Created by Mathematica (July 1, 2008) |