I am new to Cadabra and I'm trying to it to play with infinitesimal variation of some gravitatoinal terms.
I am defining a "derivative" \delta
, that I would like to commute with partial derivatives. I am doing the following , based on the example about Einstein equations
{\mu,\nu, \rho,\alpha,\beta#}::Indices(spacetime);
g_{\mu\nu}::Metric;
g^{\mu\nu}::InverseMetric;
{g_{\mu}^{\nu},g^{\mu}_{\nu}}::KroneckerDelta;
{\partial{#}}::PartialDerivative;
{\nabla{#},\delta{#}}::Derivative;
In the long run I'm interested in infinitesimal Weyl variations, so I define the following list of variations:
variations := {
\delta{g^{\mu \nu}} -> +2 \sigma g^{\mu \nu},
\delta{g_{\mu \nu}} -> -2 \sigma g_{\mu \nu}
};
As a warm up I tried to apply that to the Christoffel Symbol:
expr := \delta{
1/2 g^{\rho\alpha} * (
\partial_{\mu}{g_{\nu\alpha}}
+ \partial_{\nu}{g_{\mu\alpha}}
- \partial_{\alpha}{g_{\mu\nu}}
)
};
product_rule(_);
distribute(_);
substitute(_, $\delta{\partial_{\mu}{A}} -> \partial_{\mu}{\delta{A}}$ );
substitute(_, variations);
The first substitute
gives me the same as distribute()
, namely it does not commute the variation and the partial derivtive. I tried instead replacing A
by g_{\nu\rho}
explicitely, but that does not do anything either. Is there something I am missing?