netket._src.symmetry.labeled_representation_coset_filter.LabeledRepresentationCosetFilter#
- class netket._src.symmetry.labeled_representation_coset_filter.LabeledRepresentationCosetFilter[source]#
Bases:
objectCoset refinement operator for G/H where G and H are finite groups.
Used to extend the symmetry of a variational state one step at a time: if a state is already projected onto the H-symmetric sector (irrep ρ|_H), applying F_C(ρ) promotes it to the full G-symmetric sector (irrep ρ) using only
len(G)/len(H)operator terms instead of thelen(G)terms of the full projector.The refinement operator F_C(ρ) for irrep ρ of G satisfies:
P_G(ρ) = F_C(ρ) @ P_H(ρ|_H)
where C is a set of left-coset representatives of G/H.
Obtained via:
C = full_rep.coset_filter(sub_rep) F = C.projector_refinement(label="A1") # |C| terms
Chaining:
C_d4_c2 = rep_d4.coset_filter(rep_c4).coset_filter(rep_c2)
- Inheritance

- Attributes
- full_rep#
The full-group representation G.
- n_coset_reps#
len(G) / len(H)— number of coset representatives.
- sub_rep#
The subgroup representation H.
- Methods
-
- coset_filter(subgroup)[source]#
Build the next coset filter in a refinement chain.
Delegates to
sub_rep.coset_filter(subgroup), so the result hasfull_rep = self.sub_repandsub_rep = subgroup:C = rep_d4.coset_filter(rep_c4).coset_filter(rep_c2) # equivalent to: rep_c4.coset_filter(rep_c2)
See
LabeledRepresentation.coset_filterfor the full documentation.- Return type:
- projector_refinement(*, label, atol=1e-15)[source]#
Build the coset refinement operator F_C(ρ).
This returns F_C alone (
len(G)/len(H)terms). To obtain the full projector compose with the sub-group projector:F_C @ sub_rep.projector(label=sub_label) == full_rep.projector(label)
- Parameters:
- Raises:
ValueError – if label is unknown.
- Return type: