Ok. The code is next
Needs["Xact`xTensor`"]
Needs["xAct`xPert`"]
DefManifold[M4, 4, {l, m, n, r, s, a, b, c, d, i, k}]
DefMetric[-1, g[-m, -n], CD];
DefMetricPerturbation[g, h1, \[Epsilon]]
Perturbation[ RiemannCD[a, -b, -m, -n] ] // ExpandPerturbation // ContractMetric // ToCanonical
%%%%%%%%%%%%
The result is:
%%
h1[ -n, c] RiemannCD[a, -b, -m, -c] + h1[ a, c] RiemannCD[-b, -c, -m, -n] - 1/2 CD[a]@CD[-b]@h1[ -m, -n] - 1/2 CD[a]@CD[-m]@h1[ -b, -n] + 1/2 CD[a]@CD[-n]@h1[ -b, -m] + 1/2 CD[-b]@CD[a]@h1[ -m, -n] + 1/2 CD[-b]@CD[-m]@h1[ a, -n] - 1/2 CD[-b]@CD[-n]@h1[ a, -m]
%%%%%%%%%%%%
After putting
%%%%%%%%%%%%
Perturbation[ RiemannCD[a, -b, -m, -n] ] // ExpandPerturbation // SortCovDs // Simplification // ScreenDollarIndices // ContractMetric // Simplification // ToCanonical
%%%%%%%%%%%%
The result is: A+B, where
%%
A= -(1/2) CD[-m]@CD[a]@h1[ -b, -n] + 1/2 CD[-m]@CD[-b]@h1[ a, -n] + 1/2 CD[-n]@CD[a]@h1[ -b, -m] - 1/2 CD[-n]@CD[-b]@h1[ a, -m]
%%
B=1/2 h1[ -n, c] RiemannCD[a, -b, -m, -c] - 1/2 h1[-m, c] RiemannCD[a, -b, -n, -c] + 1/2 h1[ -n, c] RiemannCD[a, -c, -b, -m] - 1/2 h1[ -m, c] RiemannCD[a, -c, -b, -n] - 1/2 h1[ -n, c] RiemannCD[a, -m, -b, -c] - 1/2 h1[ -b, c] RiemannCD[a, -m, -n, -c] + 1/2 h1[ -m, c] RiemannCD[a, -n, -b, -c] + 1/2 h1[ -b, c] RiemannCD[a, -n, -m, -c] + h1[ a, c] RiemannCD[-b, -c, -m, -n] + 1/2 h1[a, c] RiemannCD[-b, -m, -n, -c] - 1/2 h1[a, c] RiemannCD[-b, -n, -m, -c]
%%
If we take this result from the book we find that A -- is correct, whereas instead of B must be just B*=
1/2 h1[r, -b] RiemannCD[a, -r, -m, -n] -
1/2 h1[-r, a] RiemannCD[r, -b, -m, -n] -- two terms instead 11.
(In all expressions imply
h1[ -a, -b] = h1[LI[1], -a, -b], I delete LI[1] for more readability )