On this page

dirac_adjoint

symbolica.community.idenso Function

dirac_adjoint(expression: Expression) -> Expression

Construct the physics-aware Dirac adjoint of a tensor expression.

Idenso takes the symbolic complex conjugate, reverses compatible open bispinor chains, and inserts the registered gamma0 factors required at dangling bispinor slots. The input must use the representation-aware Spenso forms registered on import. Raises DiracAdjointError when the tensor network does not define a consistent adjoint.

Examples

from symbolica.community.idenso import dirac_adjoint, list_dangling
from symbolica.community.spenso import Representation, TensorName
# Built-in representations are registered automatically on import.
# Re-importing the module does not require explicit re-registration.
bispinor = Representation.bis(4)
spinor = TensorName("u")(bispinor("alpha")).to_expression()
adjoint = dirac_adjoint(spinor)
len(list_dangling(adjoint)) == 1
"gamma0" in str(adjoint)

Arguments

  • expression: a Spenso-compatible tensor expression.

Returns

The representation-aware Dirac adjoint.