netket._src.symmetry.translation_coset_filter.TranslationCosetFilter#

class netket._src.symmetry.translation_coset_filter.TranslationCosetFilter[source]#

Bases: LabeledRepresentationCosetFilter

Fourier filter for the coset G/H of two translation representations.

Subclass of LabeledRepresentationCosetFilter specialised for translation groups: characters are Bloch factors e^{-ik·d} rather than values from a character table.

The full-group projector decomposes as:

P_G(k) = projector_refinement(k) @ sub_rep.projector(k)

Obtained via:

C = full_rep.coset_filter(sub_rep)
Inheritance
Inheritance diagram of netket._src.symmetry.translation_coset_filter.TranslationCosetFilter
Attributes
full_rep#

The full-group representation G.

irrep_labels#

Full-group irrep labels (delegates to full_rep.irrep_labels).

k_points#

Full-group Bloch momenta (delegates to full_rep.k_points).

lattice#

Underlying lattice (same for both reps).

n_coset_reps#

len(G) / len(H) — number of coset representatives.

sub_rep#

The subgroup representation H.

Methods
chars(k)[source]#

Complex Bloch factors e^{-ik·d_c} for each coset representative c.

Parameters:

k – Bloch momentum — scalar (1D) or sequence (nD), one value per active axis of full_rep.

Return type:

ndarray

Returns:

Complex array of shape (P,).

coset_filter(subgroup)[source]#

Build the next coset filter in a refinement chain.

Delegates to sub_rep.coset_filter(subgroup), so the result has full_rep = self.sub_rep and sub_rep = subgroup:

C = rep_d4.coset_filter(rep_c4).coset_filter(rep_c2)
# equivalent to: rep_c4.coset_filter(rep_c2)

See LabeledRepresentation.coset_filter for the full documentation.

Return type:

LabeledRepresentationCosetFilter

projector_refinement(k=None, *, label=None, atol=1e-15)[source]#

Build the coset Fourier filter F_C(k).

Exactly one of k or label must be supplied.

Parameters:
  • k – Bloch momentum.

  • label (str | None) – Irrep label from irrep_labels.

  • atol (float) – Drop terms with abs(coefficient) < atol.

Raises:
  • TypeError – if neither or both of k and label are supplied.

  • ValueError – if label is unknown.

Return type:

DiscreteJaxOperator