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
|