Skip to content

Symmetric group

numqi.group._symmetric

numqi.group.permutation_to_cycle_notation(index_tuple)

Permutation to cycle notation

Parameters:

Name Type Description Default
index_tuple tuple[int]

tuple of int, e.g. (2,3,0,1)

required

Returns:

Name Type Description
ret tuple[tuple[int]]

tuple of tuple of int, e.g. ((0,2),(1,3))

numqi.group.get_symmetric_group_cayley_table(n, alternating=False)

Cayley table of symmetric group

Parameters:

Name Type Description Default
n int

the order of symmetric group

required
alternating bool

whether to get the alternating group

False

Returns:

Name Type Description
ret ndarray

the Cayley table of symmetric group, dtype=np.int64, shape=(n!,n!)

numqi.group.get_sym_group_num_irrep(N, return_full=False)

Number of irreducible representations of symmetric group

Parameters:

Name Type Description Default
N int

the order of symmetric group

required
return_full bool

whether to return the full table

False

Returns:

Name Type Description
ret0 int

the number of irreducible representations

ret1 ndarray

the full table of the number of irreducible representations, dtype=np.int64, shape=(N+1,N+1), only if return_full is True

numqi.group.get_sym_group_young_diagram(N)

Young diagram of symmetric group, almost to N=50 (10 seconds)

Parameters:

Name Type Description Default
N int

the order of symmetric group

required

Returns:

Name Type Description
ret ndarray

the Young diagram of symmetric group, dtype=np.int64, shape=(#Young,N)

numqi.group.get_young_diagram_mask(young, check=True)

Young diagram mask

Parameters:

Name Type Description Default
young tuple[int]

the Young diagram, e.g. (3,2,1)

required
check bool

whether to check the input

True

Returns:

Name Type Description
ret ndarray

the Young diagram mask, dtype=np.int64, shape=(len(young),young[0])

numqi.group.check_young_diagram(np0)

Check the Young diagram

Parameters:

Name Type Description Default
np0 tuple[int]

the Young diagram, e.g. (3,2,1)

required

numqi.group.get_hook_length(*int_tuple, check=True)

Hook length wiki-link

Parameters:

Name Type Description Default
int_tuple tuple[int]

the Young diagram, e.g. (3,2,1)

()
check bool

whether to check the input

True

Returns:

Name Type Description
ret int

the hook length

numqi.group.get_young_diagram_transpose(np0, check=True)

Transpose of Young diagram

Parameters:

Name Type Description Default
np0 tuple[int]

the Young diagram, e.g. (3,2,1)

required
check bool

whether to check the input

True

Returns:

Name Type Description
ret ndarray

the transpose of Young diagram, dtype=np.int64, shape=(len(np0),)

numqi.group.get_all_young_tableaux(young, check=True)

All Young tableaux

Parameters:

Name Type Description Default
young tuple[int]

the Young diagram, e.g. (3,2,1)

required
check bool

whether to check the input

True

Returns:

Name Type Description
ret ndarray

all Young tableaux, dtype=np.int64, shape=(#tableaux,len(young),young[0])

numqi.group.young_tableau_to_young_symmetrizer(young, tableau)

Young tableau to Young symmetrizer

Parameters:

Name Type Description Default
young tuple[int]

the Young diagram, e.g. (3,2,1)

required
tableau ndarray

the Young tableau, dtype=np.int64, shape=(len(young),young[0])

required

Returns:

Name Type Description
symmetrizer ndarray

the Young symmetrizer, dtype=np.int64, shape=(#?,sum(young))

sign ndarray

the sign of Young symmetrizer, dtype=np.int64, shape=(#?,)

numqi.group.print_all_young_tableaux(N0)

Print all Young tableaux

Parameters:

Name Type Description Default
N0 int

the order of symmetric group

required