On this page

expand_bis

symbolica.community.idenso Function

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

Expand products around factors carrying registered bispinor indices.

Arguments

  • expression: a factorized Spenso-compatible expression.

Returns

(structure, coefficient) pairs distributed around bispinor-bearing factors. No explicit spinor components are substituted.

Examples

from symbolica.community.idenso import expand_bis
from symbolica.community.spenso import Representation, TensorName
# Built-in representations are registered automatically on import.
bispinor = Representation.bis(4)
alpha, beta = bispinor("alpha"), bispinor("beta")
u, v, w = TensorName("u"), TensorName("v"), TensorName("w")
u_alpha = u(alpha).to_expression()
v_beta, w_beta = v(beta).to_expression(), w(beta).to_expression()
factorized = u_alpha * (v_beta + w_beta)
terms = expand_bis(factorized)
sum(structure * coefficient for structure, coefficient in terms) == u_alpha * v_beta + u_alpha * w_beta