lgatr.interface.spurions

Tools to include reference multivectors (‘spurions’) for symmetry breaking.

Functions

get_num_spurions([beam_spurion, ...])

Compute how many reference multivectors / spurions a given configuration will have.

get_spurions([beam_spurion, ...])

Construct a list of reference multivectors / spurions for symmetry breaking.

lgatr.interface.spurions.get_num_spurions(beam_spurion='xyplane', add_time_spurion=True, beam_mirror=True)[source]

Compute how many reference multivectors / spurions a given configuration will have.

See get_spurions() for the meaning of beam_spurion, add_time_spurion, and beam_mirror.

Returns:

Number of spurions.

Return type:

num_spurions

lgatr.interface.spurions.get_spurions(beam_spurion='xyplane', add_time_spurion=True, beam_mirror=True, device='cpu', dtype=torch.float32)[source]

Construct a list of reference multivectors / spurions for symmetry breaking.

Parameters:
  • beam_spurion (str | None) – Beam-reference option. One of 'lightlike', 'spacelike', 'timelike', 'xyplane', or None.

  • add_time_spurion (bool) – Whether to add the time direction as a reference to the network.

  • beam_mirror (bool) – If True, include (x, 0, 0, -1) in addition to (x, 0, 0, 1). Only relevant for beam_spurion in ['lightlike', 'spacelike', 'timelike'] (the xy-plane is symmetric).

  • device (device | str) – Device on which to construct the spurions.

  • dtype (dtype) – Floating-point dtype of the spurions.

Returns:

Spurions embedded as multivectors, shape (num_spurions, 16).

Return type:

spurions