On this page

expand_metrics

symbolica.community.idenso Function

expand_metrics(self_: Expression) -> Expression

Expand products around registered metric tensors.

This is a structural expansion only. It neither contracts the metrics nor substitutes a dimension or signature; call simplify_metrics() separately for supported contractions.

Arguments

  • self_: a factorized Spenso-compatible expression.

Returns

The expression distributed around its metric factors.

Examples

from symbolica.community.idenso import expand_metrics, initialize
from symbolica.community.spenso import Representation, TensorName
initialize()
minkowski = Representation.mink(4)
metric = TensorName.g()
g_mn = metric(minkowski("mu"), minkowski("nu")).to_expression()
g_rs = metric(minkowski("rho"), minkowski("sigma")).to_expression()
g_ab = metric(minkowski("alpha"), minkowski("beta")).to_expression()
factorized = g_mn * (g_rs + g_ab)
expand_metrics(factorized) == g_mn * g_rs + g_mn * g_ab