Skip to content

group

numqi.group.cayley_table_to_left_regular_form(index_tuple)

Cayley table to left regular form

Parameters:

Name Type Description Default
index_tuple tuple

2-dimensional tuple, np.ndarray shape=(N0,N0)

required

Returns:

Name Type Description
ret ndarray

shape=(N0,N0,N0), np.int64

numqi.group.get_klein_four_group_cayley_table()

Klein four group Cayley table

Returns:

Name Type Description
ret ndarray

shape=(4,4), np.int64

numqi.group.get_dihedral_group_cayley_table(n)

Dihedral group Cayley table stackexchange-link

Parameters:

Name Type Description Default
n int

n>=3, number of vertices

required

Returns:

Name Type Description
ret ndarray

shape=(2n,2n), np.int64

numqi.group.get_cyclic_group_cayley_table(n)

Cyclic group Cayley table

cyclic group irrep on C-field is just complex number, on R-field are 2-by-2 matrix

Parameters:

Name Type Description Default
n int

n>=2, order of the group

required

Returns:

Name Type Description
ret ndarray

shape=(n,n), np.int64

numqi.group.get_multiplicative_group_cayley_table(n)

Multiplicative group Cayley table, direct product of cyclic group wiki-link

Parameters:

Name Type Description Default
n int

n>=3

required

Returns:

Name Type Description
ret ndarray

shape=(n,n), np.int64

numqi.group.get_quaternion_cayley_table()

Quaternion group Cayley table

Returns:

Name Type Description
ret ndarray

shape=(8,8), np.int64

numqi.group.reduce_group_representation(np0, zero_eps=1e-07, tagI=False)

Reduce group representation to irreducible representations sheaves-blog

Parameters:

Name Type Description Default
np0 ndarray

shape=(N0,dim,dim)

required
zero_eps float

zero threshold

1e-07
tagI bool

tag to indicate whether contain identity representation, if True, put at the first position

False

Returns:

Name Type Description
ret list

list of np.ndarray, shape=(N0,dim_irrep,dim_irrep)

numqi.group.to_unitary_representation(np0, return_matP=False)

To unitary representation

Parameters:

Name Type Description Default
np0 ndarray

shape=(N0,dim,dim)

required
return_matP bool

return matP

False

Returns:

Name Type Description
ret ndarray

shape=(N0,dim,dim), unitary representation

matP ndarray

when return_matP=True, shape=(dim,dim)

numqi.group.matrix_block_diagonal(*np_list)

Matrix block diagonal, matrix direct sum

Parameters:

Name Type Description Default
np_list list

list of np.ndarray, shape=(N0,...,dim0,dim1)

()

Returns:

Name Type Description
ret ndarray

shape=(N0,...,sum(dim0),sum(dim1))

numqi.group.get_character_and_class(irrep_list, zero_eps=1e-07, tagIFirst=False)

get character table and conjugacy class from irredicible representation

Parameters:

Name Type Description Default
irrep_list list

list of np.ndarray, shape=(N0,dim_irrep,dim_irrep)

required
zero_eps float

zero threshold

1e-07
tagIFirst bool

if True, put the identity class at the first column

False

Returns:

Name Type Description
character ndarray

shape=(N0,N0), np.complex128

class_list list

list of tuple, tuple of int

character_table ndarray

shape=(len(irrep),len(irrep)), np.complex128

numqi.group.hf_Euler_totient(n)

Euler's totient function stackoverflow-link

TODO sympy.totient()

Parameters:

Name Type Description Default
n int

n>=1

required

Returns:

Name Type Description
ret int

number of positive integers less than n that are coprime to n

numqi.group.hf_is_prime(n)

Is prime number stackoverflow-link

True: 2,3,5,7

False: -1,0,1,4,6

TODO sympy.isprime()

Parameters:

Name Type Description Default
n int

n>=2

required

Returns:

Name Type Description
ret bool

True if n is prime number

numqi.group.pretty_print_character_table(character_table, class_list)

Pretty print character table

Parameters:

Name Type Description Default
character_table ndarray

shape=(len(irrep),len(irrep)), np.complex128

required
class_list list

list of tuple, tuple of int

required