DFL Model Class
Digital Flux Lattice (DFL) model helper based on SU(2) dressed-site operators.
- class edlgt.models.DFL_model.DFL_Model(spin, pure_theory, ham_format, **kwargs)[source]
Bases:
QuantumModelDFL model built from SU(2) dressed-site operators.
Initialize the DFL model.
- Parameters:
- build_gen_Hamiltonian(g, m=None, dtype_mode='auto')[source]
Assemble the generalized DFL Hamiltonian.
- DFL_Hamiltonian_couplings(g, m=None)[source]
Set DFL Hamiltonian couplings from physical parameters.
- Parameters:
- Returns:
Stores couplings in
self.coeffs.- Return type:
Notes
The conventions used here follow the DFL normalization used in the project code and may differ from other SU(2) Hamiltonian conventions.
- get_background_charges_configs(logical_stag_basis)[source]
Generate 1D background-charge-compatible reference configurations.
- get_symmetry_inputs()[source]
Pack the global U(1) and per-link Gauss-law generators of the DFL gauge sector in the format expected by
symmetry_sector_configs.- Returns:
(global_ops, global_sectors, link_ops, link_sectors, pair_list).- Return type:
- get_bgsector_groups(logical_stag_basis)[source]
Enumerate the unique background-charge sectors and their statistical weights from the staggered DFL reference manifold.
- Parameters:
logical_stag_basis (
int) – Period passed through toget_background_charges_configs().- Returns:
(bg_configs, bg_sectors, unique_bg_sectors, grouped_configs, weights)with one entry per sector inunique_bg_sectorsand withweightssumming to 1.- Return type:
- build_single_bgsector_configs(bg_sector)[source]
Build the Hilbert-space configs of one bg-charge sector in a single string-aware pass.
Combines the global+link constraints with the bg-string constraint up front so the iterative builder prunes site-by-site and never materialises the full DFL sector_configs (which OOMs at L=12).
- Parameters:
bg_sector (
numpy.ndarray) – Background-charge vector identifying the sector.- Returns:
Configurations belonging to the requested bg sector.
- Return type:
- prepare_sector_split(logical_stag_basis)[source]
Build the full global+link
sector_configsonce and enumerate the bg sectors that live inside it.Heavy: at L=12 the global+link sector has ~370 M entries and OOMs. Use
build_single_bgsector_configs()per-sector when the in-process loop is not an option.- Parameters:
logical_stag_basis (
int) – Period for the staggered reference manifold.- Returns:
tuple–(global_ops, global_sectors, link_ops, link_sectors, pair_list, bg_global_ops, bg_sector_value, unique_bg_sectors, grouped_configs, weights)— every piece the in-process sector loop needs.Side Effects------------Sets ``self.sector_configs``tothe full global+link sector.
- get_fermionic_string_correlator(state=None, state_index=None, dynamics=False, print_values=False)[source]
Measure the gauge-invariant fermionic string correlator matrix.
Notes
For the 1D truncated SU(2) dressed-site DFL model the off-diagonal entries are
C_ij = 1/4 <Qpx_dag(i) W(i+1) ... W(j-1) Qmx(j)>fori < jand the diagonal is
C_ii = <N_tot(i)> / 2. Seeget_fermionic_string_correlator()for a detailed derivation.