Zn Operators

Operator factories and local gauge-invariant basis utilities for Zn lattice gauge models.

Operator factories and local gauge-invariant bases for Zn models.

The module contains utilities to build link/rishon operators, dressed-site operators, and local gauge-invariant bases used by the model-building layer. It also includes helper routines for basis changes and a specialized magnetic basis construction for 2D corner operators.

edlgt.operators.Zn_operators.Zn_rishon_operators(n, pure_theory)[source]

Construct link/rishon operators for a Z_n quantum link theory.

Parameters:
  • n (int) – Gauge-link Hilbert-space dimension.

  • pure_theory (bool) – If True, build only gauge-link operators. If False, build the rishon conventions used by dressed-site constructions with matter.

Returns:

Dictionary containing electric-field, shift, parity, and rishon operators (plus convenience composites for corner terms).

Return type:

dict

edlgt.operators.Zn_operators.Zn_corner_magnetic_basis(n, pure_theory)[source]

Construct a simultaneous-label magnetic basis for 2D corner operators.

Parameters:
  • n (int) – Gauge-link Hilbert-space dimension.

  • pure_theory (bool) – If True, build the pure-gauge basis; otherwise include matter.

Returns:

Dictionary containing "config" (corner eigenvalue labels) and "basis" arrays for the constructed magnetic basis.

Return type:

dict

Notes

This is a specialized diagnostic/helper routine used to study corner operators in 2D. It prints intermediate sector information while building the basis.

edlgt.operators.Zn_operators.Zn_dressed_site_operators(n, pure_theory=False)[source]

Build 2D dressed-site operators for Z_n gauge theories.

Parameters:
  • n (int) – Gauge-link Hilbert-space dimension.

  • pure_theory (bool, optional) – If True, exclude matter fields and build pure-gauge operators only.

Returns:

Dictionary of dressed-site operators used by the Z_n models.

Return type:

dict

edlgt.operators.Zn_operators.Zn_gauge_invariant_states(n, pure_theory, lattice_dim)[source]

Construct local gauge-invariant basis states for Z_n dressed sites.

Parameters:
  • n (int) – Gauge-link Hilbert-space dimension.

  • pure_theory (bool) – If True, build only the pure-gauge local basis.

  • lattice_dim (int) – Number of spatial lattice dimensions.

Returns:

(gauge_basis, gauge_states) dictionaries keyed by bulk/border site labels (for example "site", "even_mx", "odd_px_py").

Return type:

tuple

Notes

With matter, the local gauge-invariant basis depends on site parity (even/odd) because of the staggered-fermion convention.

edlgt.operators.Zn_operators.Zn_gauge_invariant_ops(n, pure_theory, lattice_dim)[source]

Project dressed-site operators onto the local gauge-invariant basis.

Parameters:
  • n (int) – Gauge-link Hilbert-space dimension.

  • pure_theory (bool) – If True, use the pure-gauge local basis.

  • lattice_dim (int) – Number of spatial lattice dimensions.

Returns:

Gauge-invariant operators represented in the projected local basis.

Return type:

dict

edlgt.operators.Zn_operators.get_lambda_subspace(vals, vecs, atol=1e-10)[source]

Group eigenvectors by approximately degenerate eigenvalues.

Parameters:
  • vals (numpy.ndarray) – Eigenvalues.

  • vecs (numpy.ndarray) – Eigenvectors stored column-wise.

  • atol (float, optional) – Absolute tolerance used to merge nearly equal eigenvalues.

Returns:

(subspaces_vals, subspaces_vecs) lists grouped by eigenvalue.

Return type:

tuple