-
Notifications
You must be signed in to change notification settings - Fork 0
Predefined Observables
Reference for the observable types available in ALF. These are implemented in Prog/Predefined_Obs_mod.F90 and can be used in any Hamiltonian's Alloc_obs, Obser, and ObserT subroutines.
ALF provides three observable containers, defined in Prog/observables_mod.F90:
| Type | Created with | Purpose | Output suffix |
|---|---|---|---|
Obser_Vec |
Obser_Vec_make(obs, N, filename) |
Scalar quantities (one number per bin) | _scal |
Obser_Latt |
Obser_Latt_make(obs, Nt, filename, Latt, Latt_unit, Channel, dtau) |
Lattice correlation functions |
_eq or _tau
|
Called from your Obser subroutine using the predefined measurement routines:
| Routine | Output file | What it measures | Requirements |
|---|---|---|---|
Predefined_Obs_eq_Green_measure |
Green_eq |
Equal-time Green's function |
Any model |
Predefined_Obs_eq_Den_measure |
Den_eq |
Density-density correlations |
Any model |
Predefined_Obs_eq_SpinSUN_measure |
SpinZ_eq |
SU(N) spin-spin correlations | N_FL = 1 |
Predefined_Obs_eq_SpinMz_measure |
SpinZ_eq, SpinXY_eq, SpinT_eq
|
|
N_FL = 2, N_SUN = 1
|
Called from your ObserT subroutine:
| Routine | Output file | What it measures | Channel |
|---|---|---|---|
Predefined_Obs_tau_Green_measure |
Green_tau |
P |
|
Predefined_Obs_tau_Den_measure |
Den_tau |
Time-displaced density correlations | PH |
Predefined_Obs_tau_SpinSUN_measure |
SpinZ_tau |
Time-displaced SU(N) spin correlations | PH |
Predefined_Obs_tau_SpinMz_measure |
SpinZ_tau, SpinXY_tau, SpinT_tau
|
Time-displaced spin correlations | PH |
The Channel string determines the kernel used for Analytic Continuation: 'P' (particle), 'PH' (particle-hole), 'PP' (particle-particle), 'T0' (zero temperature).
Standard scalar observables are model-defined (not in Predefined_Obs) but typically include:
| Name | Output file | What it measures |
|---|---|---|
Kin |
Kin_scal |
Kinetic energy |
Pot |
Pot_scal |
Potential energy |
Part |
Part_scal |
Particle number |
Ener |
Ener_scal |
Total energy |
ALF also provides predefined Rényi entropy and mutual information measurements:
| Routine | What it measures |
|---|---|
Predefined_Obs_scal_Renyi_Ent_indep / _gen_fl / _gen_all
|
Rényi entanglement entropy (flavor-independent / general-flavor / all) |
Predefined_Obs_scal_Mutual_Inf_indep / _gen_fl / _gen_all
|
Mutual information |
-
Ltau(in&VAR_QMC): Set to1to compute time-displaced correlations,0to skip them. Skipping saves time when only equal-time data is needed. -
LOBS_ST,LOBS_EN(in&VAR_QMC): Measurement time-slice window. Default1, 1measures only once per sweep. SettingLOBS_EN = Ltrotmeasures on every time slice (better statistics but slower).
To define a model-specific observable in your Hamiltonian:
- In
Alloc_obs: allocate and configure the observable withObser_Vec_makeorObser_Latt_make - In
Obser(equal-time) orObserT(time-displaced): compute the Wick contractions from the Green function and store the result - The analysis tools handle the rest — Jackknife error analysis, Fourier transforms, and file output are automatic