Skip to content

Group for symmetric extensions

numqi.group.symext

numqi.group.symext.get_ABk_symmetry_index(dimA, dimB, kext, use_boson=False)

Get the symmetry index of the (AB1B2...Bk) system.

Parameters:

Name Type Description Default
dimA int

dimension of the A system

required
dimB int

dimension of the B system

required
kext int

the number of extension

required
use_boson bool

whether to use boson symmetry, default is False

False

Returns:

Name Type Description
index_sym ndarray

the index of the symmetry term, shape=(dimAdimBkext, dimAdimB**kext)

index_skew ndarray

the index of the skew-symmetric term, shape=(dimAdimBkext, dimAdimB**kext)

factor_skew ndarray

the factor of the skew-symmetric term, shape=(dimAdimBkext, dimAdimB**kext)

numqi.group.symext.get_ABk_symmetrize(np0, dimA, dimB, kext, use_boson=False)

Symmetrize the (AB1B2...Bk) system (mostly for the density matrix).

Parameters:

Name Type Description Default
np0 ndarray

the input matrix, shape=(dimAdimBkext, dimAdimB**kext)

required
dimA int

dimension of the A system

required
dimB int

dimension of the B system

required
kext int

the number of extension

required
use_boson bool

whether to use boson symmetry, default is False

False

Returns:

Name Type Description
np1 ndarray

the symmetrized matrix, shape=(dimAdimBkext, dimAdimB**kext)

numqi.group.symext.get_2qutrit_irrep_basis()

Get the basis of the 2-qutrit irrep (irreducible representation).

Returns:

Name Type Description
basis_b ndarray

the basis of the bosonic part, shape=(6,9)

basis_f ndarray

the basis of the fermionic part, shape=(3,9)

numqi.group.symext.get_3qutrit_irrep_basis()

Get the basis of the 3-qutrit irrep (irreducible representation).

Returns:

Name Type Description
basis3 ndarray

the basis of the Bosonic part, shape=(10,27), Young diagram (3,)

basis21a ndarray

the basis of the mixed-symmetric part, shape=(8,27), Young diagram (2,1)

basis21b ndarray

the basis of the mixed-symmetric part, shape=(8,27), Young diagram (2,1)

basis111 ndarray

the basis of the Fermionic part, shape=(1,27), Young diagram (1,1,1)

numqi.group.symext.get_sud_symmetric_irrep_basis(dim, kext, zero_eps=1e-07)

Get the basis of the symmetric extension irrep (irreducible representation) for (B1B2...Bk) system.

Parameters:

Name Type Description Default
dim int

dimension of the Hilbert space

required
kext int

the number of extension

required
zero_eps float

the zero threshold, default is 1e-7

1e-07

Returns:

Name Type Description
basis_list list[list[ndarray]]

list of list of basis, the first list indexing is for Young diagram, the second list indexing is for Young tableaux. np.ndarray are of shape (#basis,dim)

numqi.group.symext.get_symmetric_extension_irrep_coeff(dim, kext)

Get the coefficients of the symmetric extension irrep. If dim=2, only Dicke state is used.

Parameters:

Name Type Description Default
dim int

dimension of the Hilbert space

required
kext int

the number of extension

required

Returns:

Name Type Description
coeff_list list[ndarray]

list of 4-dimensional arrray (dk, dk, dim, dim), where dk is the dimension of the k-th irrep

multiplicity_list tuple[int]

tuple of the multiplicity of each irrep

numqi.group.symext.print_symmetric_extension_irrep_coeff(coeff, zero_eps=1e-10)

Print the coefficients of the symmetric extension irrep.

Parameters:

Name Type Description Default
coeff ndarray

the coefficients, shape=(dk, dk, dim, dim), where dk is the dimension of the k-th irrep

required
zero_eps float

the zero threshold, default is 1e-10

1e-10