young

Library of functions and classes for building Young diagrams and filling them.

This includes young subgroup fillings within orbits of irreproducible representations of S_N.

class YoungSubgroup(rank)[source]

Bases: object

Class for Young tableau with subgroup filling options.

Parameters:

rank (int) – Rank of the Young tableau.

rank

Rank of the Young tableau.

Type:

int

partition

Partition of the Young tableau.

Type:

List

fills

List of subgroup fillings.

Type:

List

nodes

List of nodes.

Type:

List or tuple

remainder

Remainder of building trees during filling of the subgroups.

Type:

any

check_single_fill(partition, inds, semistandard=True)[source]

Check a that a collection of indices is sorted in a young tableau.

This tableau will typically correspond to a young subgroup relevant for pairwise reduction of N spherical harmonics.

Parameters:
  • partition (List) – Partition of N determining shape of the Young tableau.

  • inds (List) – Indices (filling) of the Young tableau.

  • semistandard (bool) – Whether the Young tableau filling is semistandard.

Returns:

True if the fill is correct, False otherwise.

Return type:

bool

static is_column_sort(partitionfill, strict_col_sort=False)[source]

Check if the young tableau is column sorted.

Parameters:
  • partitionfill (List) – Partition fill to check.

  • strict_col_sort (bool) – Whether to check for strict column sorting in the young tableau. If True, entries in columns of the tableau must be strictly increasing.

Returns:

sorted – True if the columns are sorted, False otherwise.

Return type:

bool

static is_row_sort(partitionfill)[source]

Check if the Young Tableau filling is row sorted.

Parameters:

partitionfill (List) – Partition fill to check.

Returns:

sorted – True if the rows are sorted, False otherwise.

Return type:

bool

static reverse_vector(v)[source]

Reverse a vector.

Returns a copy of the vector, to allow reverse and actual vector to both be present. This is just a wrapper for the python reverse() function.

Parameters:

v (List) – Vector to reverse.

Returns:

v_reversed – Reversed vector.

Return type:

List

sigma_c_partitions(max_orbit)[source]

Get a list of partitions compatible with sigma_c.

Parameters:

max_orbit (int) – Maximum orbit size for permutation (P-cycle where P<N)

Returns:

partitions – List of partitions compatible with sigma_c.

Return type:

List

subgroup_fill(inds, partitions=None, max_orbit=None, semistandard=True, lreduce=False)[source]

Fill the young subgroup subgroup according to standard, semistandard, etc conventions.

This will generate multiple fillings relevant for the pairwise reduction of N spherical harmonics.

Parameters:
  • inds (List) – Indices to be filled in the Young tableau.

  • partitions (List) – Partitions of N determining the shape of the Young tableau.

  • max_orbit (int) – Maximum orbit, aka max row size in the tableau.

  • semistandard (bool) – Whether the Young tableau filling is semistandard.

  • lreduce (bool) – Whether to reduce the Young tableau fillings according to 2-cycles (according to pairwise angular momentum coupling scheme)

static unique_permutations(vec)[source]

Get the unique permutations of a vector.

Parameters:

vec (List) – Vector to get the permutations of.

Returns:

unique_perms – List of unique permutations.

Return type:

List