On this page

expand_mink

symbolica.community.idenso Function

expand_mink(expression: Expression) -> list[tuple[Expression, Expression]]

Expand products around factors carrying registered Minkowski indices.

This is a selective symbolic expansion: Minkowski-bearing factors become polynomial variables while unrelated sectors remain coefficients. It does not substitute explicit four-vector components or choose a metric signature.

Arguments

  • expression: a factorized Spenso-compatible expression.

Returns

(structure, coefficient) pairs distributed around Minkowski-bearing factors.

Examples

from symbolica.community.idenso import expand_mink
from symbolica.community.spenso import Representation, TensorName
# Built-in representations are registered automatically on import.
minkowski = Representation.mink(4)
mu, nu = minkowski("mu"), minkowski("nu")
p, q, r = TensorName("p"), TensorName("q"), TensorName("r")
p_mu = p(mu).to_expression()
q_nu, r_nu = q(nu).to_expression(), r(nu).to_expression()
factorized = p_mu * (q_nu + r_nu)
terms = expand_mink(factorized)
sum(structure * coefficient for structure, coefficient in terms) == p_mu * q_nu + p_mu * r_nu