Welcome to Cadabra Q&A, where you can ask questions and receive answers from other members of the community.
+1 vote

Greetings!

I'd like to express dual Riemann tensor in terms of Christoffel symbols. Please clarify what's the problem that nothing changes when I substitute into dual Riemann tensor either Riemann tensor or Christoffel2nd:

{i,j,k,l,m,n,p,q,r,s,t,u}::Indices(space, position=fixed);
{i,j,k,l,m,n,p,q}::Integer(1..4);
\partial{#}::PartialDerivative;

g_{i j}::Metric;
g^{i j}::InverseMetric;
g_{i j}::Symmetric;

\delta{#}::KroneckerDelta;
E_{m n k l}::EpsilonTensor(delta=\delta);
E^{m n k l}::EpsilonTensor(delta=\delta);

#Christoffel second kind
Christoffel2nd := \Gamma^{i}_{k l} = 1/2 g^{i m} (
    \partial_{l}{g_{m k}}
    + \partial_{k}{g_{m l}}
    - \partial_{m}{g_{k l}});

#Riemann tensor
Riemann := R^{m}_{i k p} = \partial_{k}{\Gamma^{m}_{p i}}
    - \partial_{i}{\Gamma^{m}_{p k}}
    + \Gamma^{s}_{p i}\Gamma^{m}_{s k}
    - \Gamma^{s}_{p k}\Gamma^{m}_{s i};
lRieman := R_{i k p q} = g_{q m}R^{m}_{i k p};
uRieman := R^{m k p q} = g^{k i} g^{p j} g^{q l} R^{m}_{i j l};

# Dual Riemann tensor
uDualRiemann := 1/4 R_{m n p q} E^{p q k l} E^{i j m n};


substitute(uDualRiemann, Christoffel2nd);
substitute(uDualRiemann, Riemann);
in General questions by (270 points)

1 Answer

+2 votes
 
Best answer

The steps should be

substitute(uDualRiemann, lRieman);
substitute(uDualRiemann, Riemann);
substitute(uDualRiemann,Christoffel2nd);

The 1st line rewrites the Riemann with all lower indices in terms of one with the first index raised. The 2nd line substitutes the definition of the Riemann in terms of Christoffel symbols. And then the 3rd line rewrites the Christoffel symbols in terms of derivatives of the metric.

by (80.3k points)
selected by
...