a field-theory motivated approach to computer algebra

# cdb.relativity.abstract

Core general relativity package, mainly a library of various standard expressions.
Importing this library will make \partial a partial derivative and will also declare the greek indices to be space-time indices.
\partial{#}::PartialDerivative; {\mu,\nu,\rho,\sigma,\kappa,\gamma,\lambda}::Indices(spacetime, position=fixed);
$$\displaystyle{}\text{Attached property PartialDerivative to }\partial{\#}.$$
$$\displaystyle{}\text{Attached property Indices(position=fixed) to }\left[\mu, \nu, \rho, \sigma, \kappa, \gamma, \lambda\right].$$

## riemann_from_christoffel(R: Ex, c: Ex) -> Ex

Generates an equality which determines the Riemann tensor in terms of the Christoffel symbols.

## christoffel_from_metric(c: Ex, g: Ex) -> Ex

Generates an equality which determines the Christoffel symbols in terms of the metric.

## riemann_to_ricci

Convert contractions of Riemann tensors to Ricci tensors or scalars.
ex:= R^{a}_{b c a} - R^{a}_{b a c};
$$\displaystyle{}R^{a}\,_{b c a}-R^{a}\,_{b a c}$$
R^{a}_{b c a}-R^{a}_{b a c}
riemann_to_ricci(ex);
$$\displaystyle{}-2R_{b c}$$
-2R_{b c}