sun_diffusion.irreps module

Utilities for handling the irreducible representations of SU(N).

sun_diffusion.irreps.casimir(mu)

Computes the value of the \({\rm SU}(N)\) quadratic Casimir operator for the irrep specified by the partition mu.

The formula is given by

\[C_2(\mu) = \sum_{i=1}^N \mu_i (\mu_i - 2i + N + 1) - \frac{1}{N} \left(\sum_{i=1}^N \mu_i\right)^2\]
Parameters:

mu (Tensor) – Tensor of \(N\) decreasing integers

Return type:

float

Returns:

Quadratic Casimir for irrep mu

sun_diffusion.irreps.weyl_dimension(mu)

Computes the dimension of the \({\rm SU}(N)\) irrep labeled by the partition mu.

The formula is given by

\[{\rm dim}(\mu) = \prod_{1 \leq i < j \leq N} \frac{\mu_i - \mu_j + j - i}{j - i},\]

and we conventionally take \(\mu_N \equiv 0\).

Parameters:

mu (Tensor) – Partition for the irrep as tensor of decreasing integers

Return type:

float

Returns:

Weyl dimension for the irrep corresponding to mu.

sun_diffusion.irreps.weyl_character(thetas, mu)

Evaluates the Weyl character \(\chi_\mu(\theta)\) on \({\rm SU}(N)\) eigenangles thetas.

The general formula, as in Drouffe and Zuber (1983), is

\[\chi_\mu(U) = \frac{ \det_{i,j}\left[\lambda_i^{\mu_j + N - j}\right]}{ \det_{i,j}\left[\lambda_i^{N - j}\right]}\]

where the eigenvalues are \(\lambda_j = e^{i \theta_j}\).

Parameters:
  • thetas (Tensor) – Batch of eigenangles, shaped [B, Nc]

  • mu (Tensor) – Partition corresponding to SU(N) irrep

Return type:

Tensor

Returns:

Batch of character values as floats

sun_diffusion.irreps.grad_character(thetas, mu)

Computes the gradient of the Weyl character with respect to eigenangles.

Parameters:
  • thetas (Tensor) – Batch of eigenangles, shaped [B, Nc]

  • mu (Tensor) – Partition corresponding to SU(N) irrep

Return type:

Tensor

Returns:

Gradient of the character with respect to thetas

sun_diffusion.irreps.generate_partitions(Nc, max_weight)

Generates a list of partitions labeling \({\rm SU}(N)\) irreps.

Each partition \(\mu\) is a list of decreasing integers

\[\mu = (\mu_1, ..., \mu_N), \quad \mu_1 \geq \mu_2 \geq \cdots \geq \mu_N = 0.\]

The infinite sum is truncated by specifying the max_weight parameter, which only allows partitions of weight less than the maximum.

Parameters:
  • Nc (int) – Dimension of the fundamental rep

  • max_weight (int) – Highest weight of irreps to include

Returns:

List containing integer tuples labeling irreps

Return type:

ptns (list)