TFIM — Transverse-Field Ising Model

Overview

The one-dimensional transverse-field Ising model is the canonical exactly-solvable quantum many-body system with a quantum phase transition. QAtlas solves it via the Jordan-Wigner transformation followed by Bogoliubov-de Gennes (BdG) diagonalisation; PBC additionally requires parity-projected (NS+R) sectors.

Hamiltonian

\[H = -J \sum_{i} \sigma^z_i \sigma^z_{i+1} - h \sum_{i} \sigma^x_i\]

(σ-convention: eigenvalues ±1.) Parameters: Ising coupling $J$ (default 1.0), transverse field $h$.

Phase diagram:

  • \[h/J < 1\]

    : ferromagnetic ordered phase ($\langle \sigma^z\rangle\neq0$)
  • \[h/J = 1\]

    : quantum critical point (Ising CFT, $c=1/2$)
  • \[h/J > 1\]

    : quantum paramagnetic phase ($\langle \sigma^z\rangle = 0$)

Universality: the critical point belongs to the 2D Ising universality class via the quantum-classical mapping (1+1D quantum ↔ 2D classical).


Coverage Matrix

The table below reflects TFIM_registry.jl @register entries. ✅ marks a native fetch method; "conversion" means routed through another granularity by core/registry.jl.

QuantityOBCPBCInfinite
Energy {:total}✅ BdGconversion
Energy {:per_site}conversion✅ BdG (NS+R)✅ closed-form
FreeEnergy✅ NS+R
ThermalEntropy✅ NS+R
SpecificHeat✅ NS+R
MagnetizationX✅ NS+R
MagnetizationZ0 by Z₂✅ Pfeuty $m_z = (1-(h/J)^2)^{1/8}$
SusceptibilityXX✅ variance✅ NS+R✅ Kubo (Calabrese-Mussardo)
SusceptibilityZZ✅ WickN_proxy=80
CorrelationLength$\xi = 1/(2\lvert h-J\rvert)$
MassGap$\Delta = 2\lvert h-J\rvert$
XXCorrelation {:static}✅ Pfaffian✅ proxy
XXCorrelation {:connected}
XXCorrelation {:dynamic}
ZZCorrelation {:static}
ZZCorrelation {:connected}✅ (= static, Z₂)
ZZCorrelation {:dynamic}
ZZCorrelation {:lightcone}
ZZStructureFactor✅ static + dynamic (proxy)
VonNeumannEntropy✅ Peschel✅ CC (T=0 crit/gapped + T>0 crit)
RenyiEntropy(α)✅ Peschel✅ CC
EnergyLocal
MagnetizationXLocal {:equilibrium}
MagnetizationXLocal {:quench}✅ closed-form k-integral (#145)
MagnetizationZLocal
SpontaneousMagnetization✅ alias of MagnetizationZ
CentralCharge✅ 1/2 (critical) / 0

YY observables (YYCorrelation, SusceptibilityYY, MagnetizationY) are intentionally not implemented — the σʸ JW string makes OBC contractions expensive; tracked as Tier 3 in issue #110.


Boundary Conditions

QAtlas supports three boundary conditions for the TFIM, each with different physical content:

BCfetch argumentBdG sizePhysical setting
OBCOBC(N)$2N \times 2N$ (numerical)Open chain, $N$ sites, $N-1$ bonds
PBCPBC(N)parity-projected NS+RRing of $N$ sites, $N$ bonds
InfiniteInfinite()$k$-integralThermodynamic limit, PBC $N \to \infty$

OBC: the BdG matrix is diagonalised numerically. Boundary effects include the Z₂ tunneling splitting in the ordered phase and the $O(1/N)$ boundary correction at criticality. See gap analysis below.

PBC: the JW transformation produces a fermion parity factor that splits the partition function into Neveu-Schwarz (anti-periodic) and Ramond (periodic) sectors with both signs of the parity projector (LSM). QAtlas evaluates all four (NS±, R±). The Ramond k=0 zero mode at criticality is handled explicitly.

Infinite: the quasiparticle dispersion $\Lambda(k) = 2\sqrt{J^2 + h^2 - 2Jh\cos k}$ is integrated over the Brillouin zone using Gauss-Kronrod quadrature (QuadGK.jl).


v0.17 / v0.18 Highlights

Status: Unstable (v0.18.x)

The PBC thermodynamics, Z-axis Infinite surface, XX static / connected via Pfaffian, Calabrese-Cardy entanglement at Infinite, and dynamic structure-factor helpers are new in v0.17–v0.18. Method signatures, granularity conventions, and keyword-argument names (N_proxy, ω, , beta) may change in v0.19. Call sites should use the public QAtlas.fetch(model, quantity, bc; ...) interface and must not depend on internal helpers (the _tfim_* prefixed functions).

1. PBC free-fermion thermodynamics (v0.17)

Jordan-Wigner with a fermion parity factor splits $Z$ into Neveu-Schwarz and Ramond sectors with both parity-projector signs. QAtlas sums all four sectors (NS+, NS−, R+, R−); at the critical point the R-sector $k=0$ zero mode is handled explicitly.

m  = TFIM(; J=1.0, h=0.5)
β  = 1.0
QAtlas.fetch(m, FreeEnergy(),       PBC(8); beta=β)
QAtlas.fetch(m, MagnetizationX(),   PBC(8); beta=β)
QAtlas.fetch(m, SusceptibilityXX(), PBC(8); beta=β)
QAtlas.fetch(m, MassGap(),          PBC(8))

References: Lieb-Schultz-Mattis (1961); Sachdev §4.2. Source: TFIM_pbc_thermal.jl.

2. Z-axis Infinite — Pfeuty closed forms (v0.17)

QuantityFormula
MagnetizationZ (= SpontaneousMagnetization)$m_z = (1 - (h/J)^2)^{1/8}\;\;(h<J)$, else 0
CorrelationLength$\xi = 1/(2\lvert h-J\rvert)$ (Inf at criticality)
SusceptibilityZZOBC large-$N$ proxy via N_proxy kwarg
ZZStructureFactorstatic $S_{zz}(q)$ from Fourier of large-$N$ correlator
QAtlas.fetch(TFIM(; J=1.0, h=0.5), MagnetizationZ(),    Infinite())  # ≈ 0.985
QAtlas.fetch(TFIM(; J=1.0, h=0.7), CorrelationLength(), Infinite())  # 1/0.6 ≈ 1.667

Source: TFIM_zaxis.jl.

3. XX static / connected via Pfaffian Wick (v0.18)

OBC static $\langle\sigma^x_i\sigma^x_j\rangle$ is the $t=0$ limit of the existing dynamic Wick contraction, evaluated as a real Pfaffian over the Majorana covariance block. The connected variant subtracts $\langle\sigma^x_i\rangle\langle\sigma^x_j\rangle$. Infinite uses the OBC large-$N$ proxy (N_proxy kwarg).

m = TFIM(; J=1.0, h=0.7)
QAtlas.fetch(m, XXCorrelation{:static}(),    OBC(8); beta=Inf, i=3, j=5)
QAtlas.fetch(m, XXCorrelation{:connected}(), OBC(8); beta=Inf, i=3, j=5)
QAtlas.fetch(m, XXCorrelation{:static}(),    Infinite(); i=3, j=5, N_proxy=80)

YY OBC remains unimplemented (issue #110, Tier 3). Source: TFIM_xx_static.jl.

4. Calabrese-Cardy Infinite entanglement (v0.18)

The thermodynamic-limit von Neumann and Rényi entropies are evaluated in closed form via the Calabrese-Cardy formula. Coverage:

Region$T = 0$$T > 0$
Critical (h = J)$S = (c/3)\,\log(2\ell)$$S = (c/3)\,\log\!\left[(2\beta/\pi)\sinh(\pi\ell/\beta)\right]$
Gapped (h ≠ J)$S = (c/6)\,\log(2\xi\,\sinh(\ell/\xi))$error (deferred — see issue #110)

with $c = 1/2$ for Ising. The Rényi $\alpha\neq 1$ prefactor is $(c/12)(1 + 1/\alpha)$.

QAtlas.fetch(TFIM(; J=1.0, h=1.0), VonNeumannEntropy(), Infinite(); ℓ=50)
# ≈ (1/6) log(100) — critical T=0

QAtlas.fetch(TFIM(; J=1.0, h=0.5), RenyiEntropy(2.0),   Infinite(); ℓ=20)
# Rényi-2, gapped CC

QAtlas.fetch(TFIM(; J=1.0, h=1.0), VonNeumannEntropy(), Infinite();
             ℓ=20, beta=4.0)
# critical T>0

Source: TFIM_cft_entanglement.jl.

5. Dynamic structure factor at Infinite (v0.18, proxy)

ZZStructureFactor at Infinite() is router-dispatched on the optional ω keyword:

  • ω === nothing → existing static proxy (Fourier of static correlator)
  • ω::Real → dynamic proxy (time-evolution + Fourier of dynamic correlator)

Two helpers are exported for analytic post-processing:

  • tfim_quasiparticle_dispersion(model, k) -> Float64 — closed-form Bogoliubov dispersion $\Lambda(k)$.
  • tfim_two_spinon_dos(model, ω; q_total = 0.0) -> Float64 — two-spinon density of states at fixed total momentum, used to identify the continuum threshold.
m = TFIM(; J=1.0, h=1.0)
QAtlas.fetch(m, ZZStructureFactor(), Infinite(); q=π/2, ω=1.5)
tfim_quasiparticle_dispersion(m, π/2)
tfim_two_spinon_dos(m, 1.5; q_total=0.0)

Closed-form form-factor expansion (Calabrese-Mussardo) is not yet implemented — issue #110. Source: TFIM_infinite_dynamics.jl.


Ground-State Energy

Statement

The ground-state energy of the OBC TFIM with $N$ sites is

\[E_0 = -\sum_{n=1}^{N} \frac{\Lambda_n}{2}\]

where $\{\Lambda_n\}$ are the positive eigenvalues of the $2N \times 2N$ BdG matrix. At finite temperature $\beta = 1/(k_B T)$:

\[\langle H \rangle(\beta) = -\sum_{n=1}^{N} \frac{\Lambda_n}{2} \tanh\!\left(\frac{\beta \Lambda_n}{2}\right)\]

Derivation

The TFIM is solved exactly via the Jordan-Wigner transformation, which maps the spin chain to free fermions after a Kramers-Wannier duality step. The full derivation — including why the duality is needed for the $\sigma^z\sigma^z$ convention and the explicit construction of the BdG matrix — is given in the calculation note JW-TFIM-BdG.

The result is a $2N \times 2N$ real symmetric BdG matrix whose eigenvalues come in $\pm\Lambda_n$ pairs. The positive eigenvalues $\Lambda_n > 0$ are the quasiparticle energies, and the total energy at inverse temperature $\beta$ is:

\[\langle H \rangle = -\sum_n \frac{\Lambda_n}{2} \tanh\!\left(\frac{\beta \Lambda_n}{2}\right)\]

Thermodynamic limit

For PBC in the $N \to \infty$ limit, the quasiparticle dispersion is $\Lambda(k) = 2\sqrt{J^2 + h^2 - 2Jh\cos k}$, and the energy per site becomes a $k$-integral evaluated by Gauss-Kronrod quadrature (QuadGK.jl).

References

  • P. Pfeuty, "The one-dimensional Ising model with a transverse field", Ann. Phys. 57, 79 (1970) — exact solution of the 1D TFIM.
  • E. Lieb, T. Schultz, D. Mattis, "Two Soluble Models of an Antiferromagnetic Chain", Ann. Phys. 16, 407 (1961) — JW transformation for spin chains.
  • S. Sachdev, Quantum Phase Transitions, Cambridge University Press (2011), Ch. 5 — pedagogical treatment.

QAtlas API

m = TFIM(; J=1.0, h=0.5)

# Ground-state energy (β → ∞), OBC, N=16 — total
E₀ = QAtlas.fetch(m, Energy{:total}(), OBC(16))

# Finite-temperature total energy
Eβ = QAtlas.fetch(m, Energy{:total}(), OBC(16); beta=2.0)

# Thermodynamic limit (PBC, N→∞) — per site
ε  = QAtlas.fetch(m, Energy{:per_site}(), Infinite(); beta=2.0)

Verification

Test fileMethodWhat is checked
test_tfim_gap_closure.jlDense ED via build_tfim$E_0^{\text{ED}} = E_0^{\text{BdG}}$ for $N = 4, 6, 8$
test_universality_cross_check.jlBdG at $N = 200$$E_0/N \to -4J/\pi$ at $h = J$

Finite-Temperature Observables

Statement

At inverse temperature $\beta$ and for $N$ sites (OBC), the following quantities are computed from the BdG spectrum $\{\Lambda_n\}$:

QuantityFormulaType
Free energy$F = -\frac{1}{\beta}\sum_n \ln\!\left[2\cosh(\beta\Lambda_n/2)\right]$FreeEnergy
Entropy$S = \beta(\langle H \rangle - F)$ThermalEntropy
Specific heat$C_v = -\beta^2\,\partial \langle H \rangle / \partial \beta$SpecificHeat
Mag. (X)$\langle\sigma^x\rangle$ from the Bogoliubov occupationMagnetizationX
Susc. (XX)Variance of $\sum_i \sigma^x_i$ (OBC); Kubo at InfiniteSusceptibilityXX

PBC ⇒ all of the above with parity-projected NS+R sums (v0.17).

Derivation

All quantities follow from the free-fermion partition function. For independent modes with energies $\Lambda_n$:

\[\mathcal{Z} = \prod_n 2\cosh\!\left(\frac{\beta\Lambda_n}{2}\right)\]

The free energy is $F = -\beta^{-1}\ln\mathcal{Z}$, and all other thermodynamic quantities follow from $\beta$-derivatives.

References

  • S. Sachdev, Quantum Phase Transitions (2011), Ch. 5.3.
  • QAtlas: src/models/quantum/TFIM/TFIM_thermal.jl, TFIM_pbc_thermal.jl — full implementation.

QAtlas API

m = TFIM(; J=1.0, h=0.5)
β = 2.0

F  = QAtlas.fetch(m, FreeEnergy(),       OBC(16); beta=β)
S  = QAtlas.fetch(m, ThermalEntropy(),   OBC(16); beta=β)
Cv = QAtlas.fetch(m, SpecificHeat(),     OBC(16); beta=β)
Mx = QAtlas.fetch(m, MagnetizationX(),   OBC(16); beta=β)
χ  = QAtlas.fetch(m, SusceptibilityXX(), OBC(16); beta=β)

# PBC variants (NS+R) — v0.17
F_pbc = QAtlas.fetch(m, FreeEnergy(),     PBC(16); beta=β)
Mx_pbc = QAtlas.fetch(m, MagnetizationX(), PBC(16); beta=β)

# Infinite — closed-form k-integrals
F_inf  = QAtlas.fetch(m, FreeEnergy(),     Infinite(); beta=β)
Mx_inf = QAtlas.fetch(m, MagnetizationX(), Infinite(); beta=β)

Verification

Test fileMethodWhat is checked
test_TFIM_thermal.jlDense ED ($N \leq 10$)Exact match of $F$, $S$, $C_v$, $M_x$ vs. ED
test_TFIM_pbc_thermal.jlNS+R vs. ED ($N\leq8$)PBC parity-projected sums match exact ring partition

Energy Gap and Quantum Phase Transition

Statement

The many-body energy gap $\Delta = E_1 - E_0$ equals the smallest BdG quasiparticle energy $\Lambda_{\min}$. In the thermodynamic limit:

\[\Delta = 2|J - h|\]

At the critical point $h = J$, the gap closes as $\Delta \sim N^{-z}$ with dynamic exponent $z = 1$.

Physical Context

  • Ordered phase ($h < J$): for OBC with finite $N$, the "gap" seen by exact diagonalisation is actually the Z₂ tunneling splitting between $|\!\uparrow\cdots\uparrow\rangle$ and $|\!\downarrow\cdots\downarrow\rangle$, which is exponentially small in $N$. This is distinct from the physical excitation gap $\Delta \approx 2(J - h)$.
  • Critical point ($h = J$): $\Delta \sim \pi/N$ (finite-size gap for OBC).
  • Disordered phase ($h > J$): $\Delta \approx 2(h - J)$, the paramagnetic gap.

References

  • P. Pfeuty, Ann. Phys. 57, 79 (1970), Eq. (3.6).
  • S. Sachdev, Quantum Phase Transitions (2011), §5.5.

QAtlas API

# Infinite chain — closed form Δ = 2|h − J|
QAtlas.fetch(TFIM(; J=1.0, h=0.3), MassGap(), Infinite())   # 1.4
QAtlas.fetch(TFIM(; J=1.0, h=1.0), MassGap(), Infinite())   # 0.0  (critical)

# OBC finite-N — smallest positive BdG eigenvalue
QAtlas.fetch(TFIM(; J=1.0, h=1.0), MassGap(), OBC(32))      # ≈ π/N

# PBC finite-N — smallest excitation across NS / R sectors (v0.17)
QAtlas.fetch(TFIM(; J=1.0, h=1.0), MassGap(), PBC(16))

Verification

Test fileMethodWhat is checked
test_tfim_gap_closure.jlDense ED ($N = 4$$12$)Gap shrinks with $N$ at $h = J$
test_tfim_gap_closure.jlEDOrdered-phase gap is Z₂ tunneling ($< 10^{-3}$ for $N=6$)
test_universality_cross_check.jlBdG ($N = 200$)$\Delta \approx 2\lvert h-J\rvert$; $\nu z = 1$ from log-log regression

Entanglement Entropy at OBC (Peschel)

Statement

At the critical point $h = J$, the entanglement entropy of a contiguous block of $\ell$ sites in an $N$-site OBC chain obeys the Calabrese-Cardy formula:

\[S(\ell) = \frac{c}{6}\ln\!\left[\frac{2N}{\pi}\sin\!\left(\frac{\pi \ell}{N}\right)\right] + s_1\]

with central charge $c = 1/2$ (Ising CFT). See the Calabrese-Cardy method page for OBC vs. PBC prefactors and extraction procedure.

Physical Context

The TFIM is a free-fermion system after Jordan-Wigner transformation, so the reduced density matrix on a contiguous block of $\ell$ spins is Gaussian and its von Neumann (or Rényi) entropy is computable in $O(\ell^3)$ from the Majorana covariance matrix restricted to that block (Peschel's correlation-matrix method). QAtlas exposes this directly via VonNeumannEntropy and RenyiEntropy at OBC — no Kramers-Wannier detour is needed, because the internal $\sigma^x$-string JW convention puts the Majorana pair $(\gamma_{2i-1}, \gamma_{2i})$ on spin site $i$ directly, and the JW transformation factorises across any contiguous bipartition up to a parity factor on $A$ that commutes with $\rho_A$ (Fagotti-Calabrese 2010).

Full derivation of the per-mode entropy formula $S_A = \sum_k s_2(\nu_k)$ from the Gaussian-preservation theorem, the Majorana-covariance canonical form, and the contiguous-block JW factorisation: Peschel correlation-matrix method.

References

  • P. Calabrese, J. Cardy, J. Stat. Mech. 0406, P06002 (2004), Eq. (19).
  • I. Peschel, J. Phys. A 36, L205 (2003), Eq. (9).
  • G. Vidal, J. I. Latorre, E. Rico, A. Kitaev, Phys. Rev. Lett. 90, 227902 (2003).
  • M. Fagotti, P. Calabrese, Phys. Rev. Lett. 104, 227203 (2010).

QAtlas API

# Ground-state von Neumann, ℓ = N/2 at criticality
QAtlas.fetch(TFIM(; J=1.0, h=1.0), VonNeumannEntropy(), OBC(100); ℓ=50)
# ≈ 0.7256  ((c/6) log((2N/π) sin(πℓ/N)) + s_1, c = 1/2)

# Thermal von Neumann at β = 1
QAtlas.fetch(TFIM(; J=1.0, h=1.0), VonNeumannEntropy(), OBC(100); ℓ=50, beta=1.0)

# Rényi α ≠ 1 (v0.18)
QAtlas.fetch(TFIM(; J=1.0, h=1.0), RenyiEntropy(2.0), OBC(100); ℓ=50)

Verification

Test fileMethodWhat is checked
test_TFIM_entanglement.jlPeschel vs. full ED SVDMachine-precision agreement for every $\ell$ at $N = 10$, three $(J, h)$ points
test_TFIM_entanglement.jlPeschel ($N = 100$)Extracted $c \approx 0.5$ within 5% at criticality
test_TFIM_entanglement.jlPeschelSymmetric $S(\ell) = S(N-\ell)$, area law away from criticality
test_TFIM_renyi.jlPeschel α-traceRényi $\alpha = 2, 3$ matches small-$N$ ED
test_TFIM_cft_entanglement.jlCC at InfiniteCritical T=0/T>0 and gapped T=0 closed forms vs. analytic
test_entanglement_central_charge.jlED ($N \le 14$)$c_{\text{extracted}} \approx 0.5$ within 10%

Coverage by Reference

Physical / methodological backing of each fetch surface:

  • BdG (OBC ground / thermal): Pfeuty 1970.
  • PBC parity projection (NS+R): Lieb-Schultz-Mattis 1961; Sachdev §4.2.
  • Peschel correlation matrix (entanglement, OBC): Peschel 2003; Calabrese-Cardy 2004; Fagotti-Calabrese 2010.
  • Calabrese-Cardy (entanglement, Infinite): Calabrese-Cardy 2004,
  • Pfaffian Wick (XX static / connected): Wick 1950 + free-fermion Σ contraction.
  • Pfeuty closed forms (Z-axis Infinite): Pfeuty 1970 (spontaneous magnetisation, correlation length).
  • Two-spinon DOS / dispersion helpers: standard Bogoliubov dispersion + convolution; see Calabrese-Mussardo for the form-factor programme (not yet implemented).

Connections

  • Universality: Ising universality class$c = 1/2$, $\nu = 1$, $z = 1$.
  • Classical counterpart: IsingSquare — the 1+1D TFIM maps to the 2D classical Ising model via the quantum-classical correspondence ($\beta_{\text{classical}} \leftrightarrow$ imaginary time).
  • Disordered version: Random TFIM — the Fisher infinite-randomness fixed point at $[\ln J]_{\text{avg}} = [\ln h]_{\text{avg}}$.
  • E8 spectrum: E8 universality — perturbing the critical TFIM at $h = J$ by a longitudinal field $\lambda \sigma^z$ is the $\Phi_{(1,2)} = \sigma$ magnetic perturbation of the Ising CFT. Zamolodchikov (1989) showed the resulting massive field theory remains integrable and its eight stable particles realise the $E_8$ mass spectrum.

API

Modules = [QAtlas] at the end of index.md already pulls docstrings for the exported observable types and TFIM helpers (tfim_quasiparticle_dispersion, tfim_two_spinon_dos); no @autodocs block is needed here.


<!– ATLAS:HUBS:START – auto-generated by docs/atlas/generate.jl. Do not edit by hand; edits between these markers are overwritten on next regen. –>

Verified hubs

In the Verified Atlas, this model registers 61 hubs (quantity / BC pair). The badge column shows the R1 assurance level; click a hub link to see the exact verify(...) calls, references, and corroboration mechanism.

QuantityBCAssuranceCards
CentralChargeInfinite🟢 corroborated-at-p5
ConformalTowerOBC🟠 uncorroborated-but-feasible0
ConformalTowerPBC🟠 uncorroborated-but-feasible0
CorrelationLengthInfinite🟢 corroborated-at-p3
CriticalExponentsInfinite🟠 uncorroborated-but-feasible0
EnergyInfinite🟢 corroborated-at-p12
EnergyOBC🟢 corroborated-at-p58
EnergyPBC🟢 corroborated-at-p16
EnergyLocalOBC🟠 uncorroborated-but-feasible0
FidelitySusceptibilityInfinite🟢 corroborated-at-p2
FidelitySusceptibilityOBC🟢 corroborated-at-p9
FreeEnergyInfinite🟢 corroborated-at-p9
FreeEnergyOBC🟢 corroborated-at-p45
FreeEnergyPBC🟢 corroborated-at-p30
GGEValueInfinite🔵 coherent1
LiebRobinsonBoundInfinite🟠 uncorroborated-but-feasible0
LiebRobinsonVelocityInfinite🟠 uncorroborated-but-feasible0
LoschmidtEchoInfinite🟢 corroborated-at-p6
LoschmidtEchoOBC🟢 corroborated-at-p12
MagnetizationXInfinite🟢 corroborated-at-p6
MagnetizationXOBC🟢 corroborated-at-p18
MagnetizationXPBC🟢 corroborated-at-p18
MagnetizationXLocalInfinite🔵 coherent2
MagnetizationXLocalOBC🟠 uncorroborated-but-feasible0
MagnetizationYOBC🟢 corroborated-at-p3
MagnetizationZInfinite🟢 corroborated-at-p5
MagnetizationZLocalOBC🟠 uncorroborated-but-feasible0
MassGapInfinite🟢 corroborated-at-p25
MassGapOBC🟢 corroborated-at-p1
MassGapPBC🟠 uncorroborated-but-feasible0
NMRRelaxationExponentInfinite🟠 uncorroborated-but-feasible0
NMRSpinRelaxationRateInfinite🟠 uncorroborated-but-feasible0
NMRSpinRelaxationRateOBC🟠 uncorroborated-but-feasible0
RenyiEntropyInfinite🟠 uncorroborated-but-feasible0
RenyiEntropyOBC🟢 corroborated-at-p74
SpecificHeatInfinite🔵 coherent7
SpecificHeatOBC🟢 corroborated-at-p40
SpecificHeatPBC🟢 corroborated-at-p18
SpontaneousMagnetizationInfinite🟢 corroborated-at-p7
SusceptibilityXXInfinite🟠 uncorroborated-but-feasible0
SusceptibilityXXOBC🟢 corroborated-at-p18
SusceptibilityXXPBC🟢 corroborated-at-p12
SusceptibilityYYOBC🟢 corroborated-at-p18
SusceptibilityZZInfinite🟠 uncorroborated-but-feasible0
SusceptibilityZZOBC🟢 corroborated-at-p18
ThermalEntropyInfinite🔵 coherent11
ThermalEntropyOBC🟢 corroborated-at-p41
ThermalEntropyPBC🟢 corroborated-at-p15
UniversalityClassInfinite🟠 uncorroborated-but-feasible0
VonNeumannEntropyInfinite🟠 uncorroborated-but-feasible0
VonNeumannEntropyOBC🟢 corroborated-at-p42
XXCorrelationInfinite🟢 corroborated-at-p21
XXCorrelationOBC🟢 corroborated-at-p1
XXStructureFactorInfinite🔵 coherent14
XXStructureFactorOBC🟢 corroborated-at-p27
YYCorrelationOBC🟢 corroborated-at-p1
YYStructureFactorInfinite🔵 coherent14
YYStructureFactorOBC🟢 corroborated-at-p27
ZZCorrelationOBC🟢 corroborated-at-p3
ZZStructureFactorInfinite🔵 coherent14
ZZStructureFactorOBC🔵 coherent24

<!– ATLAS:HUBS:END –>


<!– ATLAS:DOCS:START – auto-generated by docs/atlas/generate.jl. Do not edit by hand; edits between these markers are overwritten on next regen. –>

API

Every fetch(::Model, …) method registered for this model — together with the model struct(s) and exported helpers — generated directly from the source (in lock-step with @register):

QAtlas.TFIMType
TFIM(; J = 1.0, h = 1.0) <: AbstractQAtlasModel

The 1D transverse field Ising model with Hamiltonian

H = -J Σ_i σᶻ_i σᶻ_{i+1} - h Σ_i σˣ_i

J > 0 is ferromagnetic, h is the transverse field. The critical point sits at h = J.

Currently registered fetches:

QuantityBCCoverage
EnergyOBC / InfiniteExact energy computed via BdG transformation
SpecificHeatInfiniteSpecific heat at finite temperature
FreeEnergyInfiniteFree energy density at finite temperature
ThermalEntropyInfiniteThermal entropy density at finite temperature
UniversalityClassInfinite:Ising universality class at the critical point h = J (flows to :IsingSDRG under strong disorder)
source
QAtlas.fetchMethod
fetch(model::TFIM, ::CentralCharge, ::Infinite) -> Float64

Central charge of the TFIM:

  • c = 1/2 at the critical point h = J (Ising CFT)
  • c = 0 in either gapped phase (h ≠ J) — no low-energy CFT description

Criticality is detected by |h/J - 1| ≤ 1e-6.

Example

julia> QAtlas.fetch(TFIM(), CentralCharge(), Infinite())
0.5
source
QAtlas.fetchMethod
fetch(::TFIM, ::CriticalExponents, ::Infinite; kwargs...) -> NamedTuple

Onsager 2D-Ising critical exponents at the TFIM quantum critical point h = J, delegated to the existing Universality(:Ising) infrastructure at d = 2:

β = 1/8,  γ = 7/4,  δ = 15,  ν = 1,  α = 0,  η = 1/4.

The 1D TFIM is exactly equivalent to the 2D classical Ising model via the quantum-classical mapping (Pfeuty 1970), so the universal critical exponents are identical to Onsager's 1944 result.

References

  • L. Onsager, Phys. Rev. 65, 117 (1944) — 2D classical Ising exact solution.
  • P. Pfeuty, Ann. Phys. 57, 79 (1970) — TFIM ↔ 2D Ising equivalence.
  • S. Sachdev, Quantum Phase Transitions (2nd ed., Cambridge 2011) — TFIM as canonical QPT example.
source
QAtlas.fetchMethod
fetch(model::TFIM, ::Energy{:per_site}, ::Infinite; beta, betas) -> Float64 or Vector{Float64}

Energy per site ⟨H⟩/N in the thermodynamic limit (PBC, N → ∞). Native granularity at Infinite() (total energy diverges and has no defined value here).

ε(β) = -(1/π) ∫₀^π dk  Λ(k)/2 · tanh(β Λ(k) / 2)

where the PBC dispersion is Λ(k) = 2√(J² + h² - 2Jh cos k).

  • beta::Float64: return scalar ε(β)
  • betas::AbstractVector{Float64}: return vector
  • no keyword: return ground-state energy per site (β → ∞)

Uses adaptive Gauss-Kronrod quadrature (QuadGK).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::Energy{:total}, bc::OBC; beta, betas) -> Float64 or Vector{Float64}

Total energy ⟨H⟩(β) for the OBC TFIM with N sites. Native granularity for finite-N TFIM (per-site is provided by the generic conversion fallback in src/core/quantities.jl).

  • N is read from bc.N (OBC(N) / OBC(; N)) or from kwargs[:N] as a legacy fallback.
  • beta::Float64: return scalar ⟨H⟩(β)
  • betas::AbstractVector{Float64}: return vector, reusing spectrum (O(N³) once)
  • no keyword: return ground-state energy E₀ = -Σₙ Λₙ/2 (β → ∞)

Uses the exact BdG formula: ⟨H⟩ = -Σₙ (Λₙ/2) tanh(β Λₙ / 2)

source
QAtlas.fetchMethod
fetch(model::TFIM, ::EntanglementGrowthSlope, ::Infinite;
      beta_eff::Real, kwargs...) -> Float64

Linear-growth slope of post-quench half-system entanglement entropy for the TFIM at the Ising critical point h = J. Wires together two universality-layer pieces

c = 1/2          (Universality(:Ising) CentralCharge)
v_LR = 2 |J|     (TFIM LiebRobinsonVelocity at h = J critical)

into the Calabrese-Cardy 2005 result

dS_A/dt = π c v_LR / (3 beta_eff) = π J / (3 beta_eff).

For non-critical TFIM (h ≠ J, gapped) the CC linear-growth picture does not apply and DomainError is thrown.

Reference: Calabrese-Cardy J. Stat. Mech. P04010 (2005); combines universality-layer dispatches from PR #588 and the TFIM LiebRobinsonVelocity from PR #586 / fix #592.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::LiebRobinsonBound, ::Infinite) -> Float64

Lieb-Robinson velocity of the infinite-chain TFIM,

v_LR = 2 min(|J|, |h|),

the slope of the causal cone bounding commutator spread. For the free-fermion TFIM this tight bound is saturated by the maximum group velocity max_k |dΛ/dk| of the Bogoliubov dispersion Λ(k) = 2√(J² + h² − 2 J h cos k). Registered with status=:bound.

(Lieb & Robinson 1972; Hastings & Koma 2006.)

source
QAtlas.fetchMethod
fetch(model::TFIM, ::LiebRobinsonVelocity, ::Infinite;
      J=m.J, h=m.h) -> Float64

Lieb-Robinson velocity of the transverse-field Ising chain. Via the Jordan-Wigner mapping the TFIM is a free Bogoliubov-fermion system with dispersion Λ(k) = 2 sqrt(J^2 + h^2 - 2 J h cos k). The tight Lieb-Robinson velocity is the maximum single-particle group velocity saturating the bound: differentiating Λ(k) and locating the interior stationary point at cos k = min(|J|, |h|) / max(|J|, |h|) gives

v_LR = max_k |dΛ/dk| = 2 min(|J|, |h|).

At criticality h = J this is 2J = 2h (Calabrese-Cardy 2006). The Hastings-Koma upper bound 2 max(|J|, |h|) is loose; the value returned here is the tight free-fermion saturated velocity that governs e.g. the linear-growth slope of post-quench entanglement (see PR #588 EntanglementGrowthSlope).

At h = 0 (classical Ising) or J = 0 (decoupled site spins) the chain has no quantum dynamics and v_LR = 0.

Reference: Lieb-Robinson 1972; Hastings-Koma 2006 (general bound); Calabrese-Cardy 2006 (free-fermion saturation in quench dynamics).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::MassGap, ::Infinite) -> Float64

Mass gap of the infinite-chain TFIM: the lowest single-quasiparticle excitation energy

Δ = min_k Λ(k),     Λ(k) = 2 √( J² + h² − 2 J h cos k ).

Closed form:

Δ = 2 |h − J|.

Canonical values:

  • ordered (h < J): Δ = 2(J − h)
  • disordered (h > J): Δ = 2(h − J)
  • critical (h = J): Δ = 0 (Ising CFT, Δ ~ π v_F / N on finite chains)
source
QAtlas.fetchMethod
fetch(model::TFIM, ::MassGap, bc::OBC) -> Float64

Single-quasiparticle gap of the N-site OBC TFIM read off the BdG spectrum as Λ_min, the smallest positive eigenvalue of the 2N×2N Bogoliubov-de Gennes Hamiltonian.

This is the one-particle excitation energy. Away from the critical point (|h − J| > O(1/N)) it converges to 2|h − J| exponentially in N. At the critical point h = J the OBC gap scales as Δ(N) ~ π J / N (Ising CFT).

Size is taken from bc.N (or kwargs[:N] as a legacy fallback).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::NMRRelaxationExponent, ::Infinite; kwargs...) -> Float64

NMR spin-lattice relaxation rate temperature scaling exponent θ_{NMR} = -3/4 at the quantum critical point h = J. For non-critical h ≠ J, returns NaN with a warning.

source
QAtlas.fetchMethod
fetch(m::TFIM, ::BoundaryEntropy, ::Infinite;
      h = m.h, J = m.J, boundary_state::Symbol, kwargs...) -> Float64

Affleck-Ludwig boundary entropy log g of the critical TFIM at the quantum critical point h = J. Delegates to Universality(:Ising) with the same boundary_state, which is dimensionless (independent of the sound velocity).

Off-critical (h != J) is gapped and Affleck-Ludwig does not apply — this dispatch throws DomainError.

Reference: Affleck-Ludwig Phys. Rev. Lett. 67, 161 (1991).

source
QAtlas.fetchMethod
fetch(m::TFIM, ::EntanglementSaturationDensity, ::Infinite;
      beta_eff::Real, h = m.h, J = m.J, kwargs...) -> Float64

Long-time saturation S_A(infty)/L = pi c / (6 beta_eff) of the half-system entanglement entropy after a global quench at the critical TFIM point |h| = |J|. Delegates to Universality(:Ising) (c = 1/2).

source
QAtlas.fetchMethod
fetch(m::TFIM, ::LogarithmicNegativity, ::Infinite;
      ℓ_A::Real, ℓ_B::Real, kwargs...) -> Float64

Calabrese-Cardy-Tonni 2012 logarithmic negativity of two adjacent intervals at the critical TFIM point |h| = |J|:

E = (c/4) log[ℓ_A · ℓ_B / (ℓ_A + ℓ_B)],   c = 1/2.

Delegates to Universality(:Ising).

source
QAtlas.fetchMethod
fetch(m::TFIM, ::MutualInformation, ::Infinite;
      ℓ_A::Real, ℓ_B::Real, beta::Real=Inf, kwargs...) -> Float64

Calabrese-Cardy mutual information I(A:B) of two adjacent intervals at the critical TFIM point |h| = |J|, with the same lattice spacing convention a = 1/2 used by the VonNeumannEntropy / RenyiEntropy wrappers. The cutoff cancels in S(A) + S(B) - S(A union B), so the result is independent of a.

source
QAtlas.fetchMethod
fetch(model::TFIM, q::RenyiEntropy, ::Infinite;
      ℓ::Int, beta::Real = Inf, kwargs...) -> Float64

Calabrese-Cardy Rényi-α entanglement entropy of a contiguous block of length in the infinite TFIM. Coefficient

P_α = (c / 6) · (1 + 1/α),  c = 1/2.
  • T = 0, critical: S_α = P_α · log(2 ℓ)
  • T = 0, gapped : S_α = (P_α / 2) · log(2 ξ sinh(ℓ/ξ)), ξ = 1/(2|h - J|)
  • T > 0, critical: S_α = P_α · log[(2 β/π) sinh(π ℓ / β)]
  • T > 0, gapped : not implemented (errors out).

The non-universal S_0 offset is dropped.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::VonNeumannEntropy{:equilibrium}, ::Infinite;
      ℓ::Int, beta::Real = Inf, kwargs...) -> Float64

Calabrese-Cardy von Neumann entanglement entropy of a contiguous block of length in the infinite TFIM (Ising CFT, c = 1/2). Returns the universal leading-log term; the non-universal S_0 offset is dropped.

  • beta = Inf (default): T = 0 ground state.
  • beta < ∞ : finite-temperature thermal state.

At criticality (h ≈ J) and T = 0 the result is (c/3) log(2 ℓ). In a gapped phase at T = 0 the result is (c/6) log(2 ξ sinh(ℓ/ξ)) with ξ = 1/(2|h - J|); this saturates at (c/6)(ℓ/ξ + log ξ + log 2) for ℓ ≫ ξ (area law set by ξ). At criticality + finite T the result is (c/3) log[(2 β/π) sinh(π ℓ / β)], consistent with the T = 0 form under β → ∞. The off-critical + finite-T case errors out (not yet implemented).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::SusceptibilityZZ, bc::OBC;
      beta::Float64) -> Float64

Static uniform longitudinal (q = 0) susceptibility per site,

χ_zz(β) = (β/N) Σ_{i,j} ⟨σᶻ_i σᶻ_j⟩_β.
source
QAtlas.fetchMethod
fetch(model::TFIM, ::XXCorrelation{:dynamic}, bc::OBC;
      i::Int, j::Int, t::Float64, beta::Float64 = Inf) -> ComplexF64

Exact ⟨σˣ_i(t) σˣ_j(0)⟩_β for the OBC TFIM.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::ZZCorrelation{:connected}, bc::OBC;
      beta::Float64, [i::Int, j::Int]) -> Matrix{Float64} or Float64

Connected static thermal correlator C^c_{ij} = ⟨σᶻ_i σᶻ_j⟩_β − ⟨σᶻ_i⟩_β ⟨σᶻ_j⟩_β for the OBC TFIM.

In the OBC TFIM the Z₂ symmetry σᶻ → −σᶻ is unbroken at any finite N (Gaussian state of the JW fermions; odd-product expectation vanishes), so ⟨σᶻ_i⟩_β = 0 and the connected correlator coincides with the bare static one. This method therefore re-uses the :static routine and is provided as a separate dispatch for caller clarity / API completeness.

If at some point a TFIM variant breaks Z₂ explicitly (e.g. by adding a longitudinal field), the implementation will still be correct provided the per-site ⟨σᶻ_i⟩_β is taken from MagnetizationZLocal and subtracted off — see the comment in the source.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::ZZCorrelation{:dynamic}, bc::OBC;
      i::Int, j::Int, t::Float64, beta::Float64 = Inf) -> ComplexF64

Exact ⟨σᶻ_i(t) σᶻ_j(0)⟩_β for the OBC TFIM. beta = Inf (the default) gives the ground-state result. N comes from bc.N.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::ZZCorrelation{:lightcone}, bc::OBC;
      center::Int, times::AbstractVector{<:Real}, beta::Float64 = Inf) -> Matrix{ComplexF64}

Exact spreading correlation C[it, ix] = ⟨σᶻ_ix(t_it) σᶻ_center(0)⟩_β for all sites ix ∈ 1:N and t_it ∈ times.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::ZZCorrelation{:static}, bc::OBC;
      beta::Float64, [i::Int, j::Int]) -> Matrix{Float64} or Float64

Static (equal-time) thermal correlator ⟨σᶻ_i σᶻ_j⟩_β for the OBC TFIM. With both i and j given returns a scalar; otherwise returns the full N×N matrix.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::ZZStructureFactor, bc::OBC;
      beta::Float64, q::Real) -> Float64

Static structure factor S_zz(q, β) for the OBC TFIM at wave vector q.

source
QAtlas.fetchMethod
fetch(model::TFIM, q::RenyiEntropy, bc::OBC;
      ℓ::Int, beta::Float64 = Inf, kwargs...) -> Float64

Rényi entropy of order α = q.α (α ≠ 1) for the first spins of the N-site OBC TFIM in the thermal state at inverse temperature beta (or the ground state when beta = Inf), via Peschel's correlation-matrix method — see equation (2) in the file header.

The Gaussian factorisation gives S_α = Σ_k s_α(ν_k), where the νk are the non-negative eigenvalues of `i ΣA`. As for the von Neumann case, the JW-factorisation argument (Fagotti–Calabrese 2010) means the fermion Rényi entropy equals the spin Rényi entropy for a contiguous block.

α = 1 is rejected at the RenyiEntropy constructor; use VonNeumannEntropy explicitly.

Cost is O(ℓ³) from the Hermitian eigendecomposition of i Σ_A, identical to the von Neumann path.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::VonNeumannEntropy{:equilibrium}, bc::OBC;
      ℓ::Int, beta::Float64 = Inf, kwargs...) -> Float64

Von Neumann entanglement entropy of the first spins of the N-site OBC TFIM in the thermal state at inverse temperature beta (or the ground state when beta = Inf), computed by Peschel's correlation- matrix method — see equation (1) in the file header.

  • N = _bc_size(bc, kwargs) (read from OBC(N) or legacy kwargs[:N]).
  • must satisfy 1 ≤ ℓ ≤ N - 1.
  • Cost is O(ℓ³); for typical N = 200, ℓ = 100 this runs in a few milliseconds, whereas the full-ED SVD baseline scales as O(4^N).

The result matches the full-ED reference at every small N (verified to 1e-10 in test/models/test_TFIM_entanglement.jl).

See full derivation in docs/src/calc/jw-tfim-bdg.md.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::FidelitySusceptibility, ::Infinite;
      rtol::Float64=1e-10, kwargs...) -> Float64

Per-site fidelity susceptibility χ_F / L of the infinite TFIM with respect to the transverse field h, computed by Gauss–Kronrod quadrature of the closed-form Bogoliubov-vacuum overlap integral.

Closed-form values (h ≠ J):

χ_F / L = 1 / (16 (J² − h²))            (ordered, h < J)
χ_F / L = J² / (16 h² (h² − J²))         (disordered, h > J)

Both branches diverge as 1 / |J − h| at the critical point |h| = J — a DomainError is thrown if ||h| − |J|| is below 1e-14.

References: Gu, Int. J. Mod. Phys. B 24, 4371 (2010); Damski, PRB 87, 165101 (2013).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::FidelitySusceptibility, bc::OBC;
      per_site::Bool=false, kwargs...) -> Float64

Ground-state fidelity susceptibility χ_F of the OBC TFIM with N = bc.N sites with respect to the transverse field h:

χ_F(h) = Σ_{n ≠ 0} |⟨n | ∂_h H | 0⟩|² / (E_n - E_0)²,

evaluated in closed form via the Bogoliubov diagonalisation (no numerical differentiation). Cost O(N³).

per_site=true returns χ_F / N.

References: Gu, Int. J. Mod. Phys. B 24, 4371 (2010); Damski, PRB 87, 165101 (2013).

source
QAtlas.fetchMethod
fetch(model_f::TFIM, ::GGEValue{Energy{:per_site}}, ::Infinite;
      initial::TFIM, kwargs...) -> Float64

Per-site Generalised Gibbs Ensemble (GGE) energy density of the infinite TFIM after a sudden quench (J, h_0) → (J, h_f), with model_f = TFIM(J = J, h = h_f) and initial = TFIM(J = J, h = h_0).

The closed form

ε_GGE = -(1/π) ∫₀^π dk · (Λ_k(h_f)/2) · (1 − 2 n_k(h_0, h_f))

is the long-time average reached by the post-quench evolution; it also equals the (time-independent) energy expectation of the initial state |ψ0⟩ in the post-quench Hamiltonian Hf, which serves as the canonical energy-conservation cross-check.

Required kwarg

  • initial::TFIM — pre-quench TFIM whose ground state is the initial state. The Ising couplings must match (initial.J == model_f.J); a mismatch throws DomainError.

Example

fetch(TFIM(J = 1.0, h = 0.5), GGEValue(Energy(:per_site)), Infinite();
      initial = TFIM(J = 1.0, h = 2.0))

References

  • Rigol et al., Relaxation in a Completely Integrable Many-Body Quantum System, PRL 98, 050405 (2007).
  • Calabrese, Essler, Fagotti, Quantum Quench in the Transverse Field Ising Chain, J. Stat. Mech. (2012) P07016, P07022.
source
QAtlas.fetchMethod
fetch(model_f::TFIM, ::GGEValue{MagnetizationX}, ::Infinite;
      initial::TFIM, kwargs...) -> Float64

GGE stationary value of the transverse magnetisation ⟨σˣ⟩ of the infinite TFIM after a sudden quench (J, h_0) → (J, h_f):

⟨σˣ⟩_GGE = (2/π) ∫₀^π dk · (h_f − J cos k)/Λ_k(h_f) · (1 − 2 n_k)

with n_k = sin²(θ_k(h_0) − θ_k(h_f)).

Required kwarg

  • initial::TFIM — pre-quench TFIM (must share J).

References

See [fetch(::TFIM, ::GGEValue{Energy{:per_site}}, ::Infinite; ...)].

source
QAtlas.fetchMethod
fetch(model::TFIM, ::SusceptibilityZZ, ::Infinite;
      beta::Real, ω::Union{Real,Nothing} = nothing,
      q::Union{Real,Nothing} = nothing,
      N_proxy::Int = 64, t_max::Real = 20.0, dt::Real = 0.1, kwargs...)
    -> Float64

Longitudinal susceptibility of the infinite TFIM. This router dispatches on ω:

  • ω === nothing (default) → static uniform isothermal susceptibility χ_zz(β) at q = 0, the same large-N OBC proxy _zz_uniform_susceptibility previously exposed in TFIM_zaxis.jl (default N_proxy = 80). q is ignored on this branch.

  • ω::Real → dynamic imaginary part χ''_zz(q, ω; β) at finite momentum, computed via the Kubo commutator formula

    χ''_zz(q, ω; β) = (1/2) ∫dt e^{iωt} · (1/N_b) Σ_{i,j ∈ bulk}
                            e^{-iq(i-j)} ⟨[σᶻ_i(t), σᶻ_j(0)]⟩_β

    (Kubo 1957; Mahan, Many-Particle Physics, ch. 3) on the same N_proxy-site OBC chain as ZZStructureFactor's dynamic branch. q is required on this branch; ArgumentError is raised if absent.

    Default N_proxy = 64, t_max = 20.0, dt = 0.1 mirror the dynamic ZZStructureFactor proxy so the two are directly comparable (e.g. for fluctuation–dissipation cross-checks); the same ω-resolution ~ π/t_max, UV cutoff ~ π/dt, and finite-bulk exponential corrections apply.

The static and dynamic branches answer different physical questions: the static path returns the equilibrium thermodynamic susceptibility (integral of χ''(ω)/ω weighted by tanh(βω/2)), while the dynamic path returns the spectral function at a single (q, ω). The static branch is the recommended one for sum-rule / equation-of-state work.

FDT cross-check is not an independent physics anchor

The dynamic χ'' branch shares the OBC large-N Pfaffian / Majorana machinery (and (N_proxy, t_max, dt) discretisation) with the ZZStructureFactor dynamic branch. Asserting S = 2χ''/(1−e^{-βω}) therefore primarily verifies the commutator-vs-product structure is consistent — both spectral functions are computed from the same cached Σ_thermal and R(t) = exp(h_majorana · t), so their discretisation errors are correlated. Stronger independent anchors are: (i) the f-sum rule ∫₀^∞ ω χ''(q,ω) dω relates analytically to ½⟨[[H, σᶻq], σᶻ{-q}]⟩ (Hohenberg-Brinkman 1974); and (ii) at h = 0 the σᶻ operator commutes with H, so χ''_zz(q,ω) ≡ 0 — a trivial-but-strong test that fails fast on any sign error.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::ZZStructureFactor, ::Infinite;
      beta::Real, q::Real, ω::Union{Real,Nothing} = nothing,
      N_proxy::Int = 64, t_max::Real = 20.0, dt::Real = 0.1, kwargs...)
    -> Float64

Longitudinal structure factor S_zz(q, [ω,] β) of the infinite TFIM. This router dispatches on ω:

  • ω === nothing (default) → static S_zz(q, β), computed by the large-N OBC proxy _zz_static_structure_factor (default N_proxy = 80; same path as defined in TFIM_zaxis.jl).

  • ω::Real → dynamic S_zz(q, ω; β), computed as the OBC large-N proxy of the time- and space-Fourier transform of ⟨σᶻ_i(t) σᶻ_j(0)⟩_β,

    S_zz(q, ω; β) = ∫dt e^{iωt} · (1/N_b) Σ_{i,j ∈ bulk}
                          e^{-iq(i-j)} ⟨σᶻ_i(t) σᶻ_j(0)⟩_β,

    with t ∈ [-t_max, t_max] discretised at spacing dt and (i, j) restricted to the central bulk window [N/4, 3N/4] of an N_proxy-site OBC chain.

    Default N_proxy = 64, t_max = 20.0, dt = 0.1 is a balance of precision and cost; the dominant errors are (a) ω-resolution ~ π/t_max ≈ 0.157, (b) UV cutoff ~ π/dt ≈ 31.4, (c) finite-size finite-bulk corrections ~ exp(−(N_proxy − 4 ξ)/ξ). Raise the appropriate parameter to tighten any of these.

Performance: O(|ts| · N_b² · M³) Pfaffians per (q, ω) point, where M ≈ 2 (i + j) − 2. At default settings this is ~1 sec/point on a single core after the Majorana eigendecomposition is amortised. Multiple (q, ω) points should be batched by writing a custom loop that reuses Σ and the per-t evolution matrices R(t).

Static path remains the recommended one for any equilibrium sum-rule work; the dynamic path is intended primarily as a benchmark for TPQMPS / DMRG dynamic structure factor reference values.

source
QAtlas.tfim_quasiparticle_dispersionMethod
tfim_quasiparticle_dispersion(model::TFIM, k::Real) -> Float64

Single-quasiparticle Bogoliubov dispersion of the infinite TFIM,

Λ(k) = 2 √(J² + h² − 2 J h cos k),

at momentum k ∈ [0, π]. Useful for plotting band structure and as the kinematic input to two-spinon density-of-states / structure factor calculations.

Special values:

  • Λ(0) = 2 |J − h| — equal to the gap Δ in either phase.
  • Λ(π) = 2 (J + h) — top of the band.
  • min over k ∈ [0, π] is the mass gap MassGap at Infinite.
source
QAtlas.tfim_two_spinon_dosMethod
tfim_two_spinon_dos(model::TFIM, ω::Real; q_total::Real = 0.0) -> Float64

Two-spinon density of states at total momentum q_total and frequency ω for the infinite TFIM:

ρ_2(ω; q_total) = (1/π) ∫₀^π dk  δ(ω − Λ(k) − Λ(q_total − k)).

For q_total = 0 the two-spinon continuum is supported on [2 Δ, Λ(0) + Λ(π)] = [2 |J − h|, 2 (J + h)]; outside this window the routine returns 0.0.

Computation: numerical root-finding for k* ∈ (0, π) where f(k) := Λ(k) + Λ(q_total − k) = ω, then

ρ_2(ω; q_total) = (1/π) Σ_{k*} 1 / |f'(k*)|.

Roots are isolated by a brute-force scan with Nscan = 4096 samples followed by 50 bisection refinements per bracket — sufficient for ~12-digit precision in k* and ~1/Nscan precision in counting roots near van Hove singularities (where |f'| vanishes and ρ_2 diverges integrably). Right at a van Hove point the returned value is finite because the bisected k* is offset from the exact saddle.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::EnergyLocal, bc::OBC; beta::Float64, kwargs...)
    -> Vector{Float64}

Site-local energy density ε_i of the OBC TFIM at inverse temperature beta, defined so that Σᵢ ε_i = ⟨H⟩_β. Each bond is split symmetrically between its two endpoints:

ε_i = -(J/2) (⟨σᶻ_{i-1} σᶻ_i⟩_β + ⟨σᶻ_i σᶻ_{i+1}⟩_β) - h ⟨σˣ_i⟩_β

with the missing bonds at the i = 1 and i = N boundaries taken to be zero. Bond expectations are read off as Σ(β)[2i, 2i+1] from the Majorana thermal covariance (exact, O(N) after the single 2N×2N diagonalisation).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::MagnetizationXLocal{:equilibrium}, bc::OBC; beta::Float64, kwargs...)
    -> Vector{Float64}

Site-resolved transverse magnetisation [⟨σˣ_i⟩_β for i = 1:N] of the OBC TFIM at inverse temperature beta, read off from the Majorana thermal covariance as Σ[2i-1, 2i]. N is taken from bc.N.

beta = Inf falls back to the ground state.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::MagnetizationZLocal, bc::OBC; beta::Float64, kwargs...)
    -> Vector{Float64}

Site-resolved longitudinal magnetisation [⟨σᶻ_i⟩_β for i = 1:N]. Identically zero in the OBC TFIM by the Z₂ symmetry σᶻ → −σᶻ of the Hamiltonian (Gaussian state, odd product of Majoranas). Returned as an explicit zero vector so consumers can use it as an exact baseline against finite random-sample estimates that fluctuate around zero.

source
QAtlas.fetchMethod
fetch(model_f::TFIM, ::LoschmidtEcho{:amplitude}, bc::OBC;
      initial::TFIM, t::Real, kwargs...) -> Float64

Loschmidt echo L(t) = |⟨ψ_0|e^{-iH_f t}|ψ_0⟩|² for an OBC chain of size bc.N after a sudden quench H_0 = TFIM(J, h_0) → H_f = TFIM(J, h_f).

initial carries the pre-quench Hamiltonian (must share J with model_f; only h differs). Computed by diagonalising both BdG matrices and evaluating the per-mode Bogoliubov overlap product.

References: Heyl-Polkovnikov-Kehrein, PRL 110, 135704 (2013); Heyl, Rep. Prog. Phys. 81, 054001 (2018).

source
QAtlas.fetchMethod
fetch(model_f::TFIM, ::LoschmidtEcho{:rate}, ::Infinite;
      initial::TFIM, t::Real, atol::Real=1e-10, rtol::Real=1e-8, kwargs...)
    -> Float64

Loschmidt rate function in the thermodynamic limit:

λ(t) = -(1/2π) ∫_0^π log| cos²(Δθ_k) + sin²(Δθ_k) e^{-2 i Λ_k^{(f)} t} |² dk,

evaluated by QuadGK.quadgk. At a DQPT critical time the integrand has a log-divergence at k = k^*; QuadGK's adaptive subdivision handles the integrable singularity.

References: Heyl-Polkovnikov-Kehrein, PRL 110, 135704 (2013); Heyl, Rep. Prog. Phys. 81, 054001 (2018).

source
QAtlas.fetchMethod
fetch(model_f::TFIM, ::LoschmidtEcho{:rate}, bc::OBC;
      initial::TFIM, t::Real, kwargs...) -> Float64

Loschmidt rate function λ(t) = -log L(t) / N for the OBC TFIM quench h_0 → h_f. See LoschmidtEcho.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::Energy{:per_site}, bc::PBC; beta::Real, kwargs...) -> Float64

Per-site energy ε(β) = -∂_β log Z / N of the N-site PBC TFIM. Native granularity for PBC TFIM (the :total granularity is provided by the generic conversion fallback in src/core/quantities.jl).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::MassGap, bc::PBC; kwargs...) -> Float64

Lowest excitation energy of the N-site PBC TFIM. See _tfim_pbc_mass_gap for sector handling.

source
QAtlas.fetchMethod
fetch(model_f::TFIM, ::VonNeumannEntropy{:quench}, bc::OBC;
      initial::TFIM, ℓ::Int, t::Real, kwargs...) -> Float64

Post-quench von Neumann entanglement entropy of the first sites of the N-site OBC TFIM.

Prepare the chain in the ground state of initial::TFIM and quench instantly to model_f::TFIM; this method returns

S(ℓ, t) = -Tr ρ_A(t) log ρ_A(t)

evaluated by Peschel's correlation-matrix method on the time-evolved Majorana covariance Σ(t) = R(t) Σ0 R(t)ᵀ. See the file header (`TFIMquench_entanglement.jl`) for the full derivation and the Calabrese–Cardy quasi-particle picture for the expected linear-growth behaviour.

Required keyword arguments

  • initial::TFIM — initial-Hamiltonian model whose ground state is the t = 0 state.
  • ℓ::Int — subsystem length, 1 ≤ ℓ ≤ N - 1.
  • t::Real — post-quench time.

N is read from OBC(N) (or legacy kwargs[:N]). At t = 0 the result coincides with the equilibrium VonNeumannEntropy{:equilibrium} of the initial model — this is the back-compat sanity check exercised in test/standalone/test_tfim_quench_entanglement.jl.

Cost: O(N³) from the matrix exponential plus O(ℓ³) from the Peschel eigendecomposition.

References: Calabrese–Cardy J. Stat. Mech. P04010 (2005); Peschel J. Phys. A 36, L205 (2003).

source
QAtlas.fetchMethod
fetch(model_f::TFIM, ::MagnetizationXLocal{:quench}, ::Infinite;
      initial::TFIM, t::Real, kwargs...) -> Float64

Translationally-invariant ⟨σˣ⟩(t) for the infinite TFIM after a sudden quench from H(initial.h) to H(model_f.h) (initial.J == model_f.J required). Closed-form k-integral:

⟨σˣ⟩(t) = (1/π) ∫₀^π dk [ cos(2 θ_k^f) cos(2 Δθ_k)
                        + sin(2 θ_k^f) sin(2 Δθ_k) cos(2 Λ_k^f t) ]

with Δθk ≡ θk(hf) − θk(h_0), evaluated by adaptive Gauss–Kronrod quadrature.

References: Barouch–McCoy–Dresden, PRA 2 (1970); Calabrese–Essler– Fagotti, J. Stat. Mech. P07016 (2012).

source
QAtlas.fetchMethod
fetch(model_f::TFIM, ::MagnetizationXLocal{:quench}, bc::OBC;
      initial::TFIM, i::Int, t::Real, kwargs...) -> Float64

Time-evolved local transverse magnetisation ⟨σˣ_i⟩(t) of the OBC TFIM after a sudden quench.

  • model_f is the post-quench model (sets h_f, J).
  • initial is the pre-quench TFIM whose ground state |ψ_0⟩ is the initial state. Both models must share the same J; mismatch raises an ArgumentError (the quench is not defined for a J → J' jump in the current implementation).
  • i ∈ 1:N, t ∈ ℝ, N from bc.N (or kwargs).

Implementation: Majorana covariance evolution Σ(t) = R(t) Σ0 R(t)^T with Σ0 = GS covariance under H(h0) and R(t) = exp(hf · t). Cost per call: one 2N × 2N eigendecomposition + one matrix exponential.

Sanity checks (covered by test/standalone/test_tfim_sigma_x_quench.jl):

  • t = 0 → equilibrium ⟨σˣ_i⟩ of GS(h_0).
  • h0 = hf → time-independent (= equilibrium GS at h_0).
  • Large-N central-site → matches the Infinite() closed form.

References: Barouch–McCoy–Dresden, Phys. Rev. A 2 (1970) 1075; Calabrese–Essler–Fagotti, J. Stat. Mech. P07016 (2012).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::FreeEnergy, ::Infinite; beta::Real, kwargs...)

Per-site free_energy of the TFIM in the thermodynamic limit at inverse temperature beta. Uses adaptive Gauss-Kronrod quadrature over the BdG dispersion Λ(k) = 2√(J² + h² − 2Jh cos k).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::FreeEnergy, bc::OBC; beta::Real, kwargs...)

Per-site free_energy of the OBC TFIM with N = bc.N sites at inverse temperature beta. Computed exactly via the BdG diagonalisation.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::MagnetizationX, ::Infinite; beta::Real, kwargs...)

Per-site transverse_magnetization of the TFIM in the thermodynamic limit at inverse temperature beta. Uses adaptive Gauss-Kronrod quadrature over the BdG dispersion Λ(k) = 2√(J² + h² − 2Jh cos k).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::MagnetizationX, bc::OBC; beta::Real, kwargs...)

Per-site transverse_magnetization of the OBC TFIM with N = bc.N sites at inverse temperature beta. Computed exactly via the BdG diagonalisation.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::NMRSpinRelaxationRate, ::Infinite; beta::Real, kwargs...)

Per-site nmr_relaxation of the TFIM in the thermodynamic limit at inverse temperature beta. Uses adaptive Gauss-Kronrod quadrature over the BdG dispersion Λ(k) = 2√(J² + h² − 2Jh cos k).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::NMRSpinRelaxationRate, bc::OBC; beta::Real, kwargs...)

Per-site nmr_relaxation of the OBC TFIM with N = bc.N sites at inverse temperature beta. Computed exactly via the BdG diagonalisation.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::SpecificHeat, ::Infinite; beta::Real, kwargs...)

Per-site specific_heat of the TFIM in the thermodynamic limit at inverse temperature beta. Uses adaptive Gauss-Kronrod quadrature over the BdG dispersion Λ(k) = 2√(J² + h² − 2Jh cos k).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::SpecificHeat, bc::OBC; beta::Real, kwargs...)

Per-site specific_heat of the OBC TFIM with N = bc.N sites at inverse temperature beta. Computed exactly via the BdG diagonalisation.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::SusceptibilityXX, ::Infinite; beta::Real, kwargs...)

Per-site transverse_susceptibility of the TFIM in the thermodynamic limit at inverse temperature beta. Uses adaptive Gauss-Kronrod quadrature over the BdG dispersion Λ(k) = 2√(J² + h² − 2Jh cos k).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::SusceptibilityXX, bc::OBC; beta::Real, kwargs...)

Per-site transverse_susceptibility of the OBC TFIM with N = bc.N sites at inverse temperature beta. Computed exactly via the BdG diagonalisation.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::ThermalEntropy, ::Infinite; beta::Real, kwargs...)

Per-site entropy of the TFIM in the thermodynamic limit at inverse temperature beta. Uses adaptive Gauss-Kronrod quadrature over the BdG dispersion Λ(k) = 2√(J² + h² − 2Jh cos k).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::ThermalEntropy, bc::OBC; beta::Real, kwargs...)

Per-site entropy of the OBC TFIM with N = bc.N sites at inverse temperature beta. Computed exactly via the BdG diagonalisation.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::XXCorrelation{:connected}, ::Infinite;
      beta::Real = Inf, i::Int, j::Int,
      N_proxy::Int = 80, kwargs...) -> Float64

Connected static ⟨σˣ_i σˣ_j⟩_β,c in the thermodynamic limit, via the same OBC large-N proxy as XXCorrelation{:static}, Infinite().

source
QAtlas.fetchMethod
fetch(model::TFIM, ::XXCorrelation{:connected}, bc::OBC;
      beta::Real = Inf, i::Int, j::Int, kwargs...) -> Float64

Connected static thermal transverse correlator ⟨σˣ_i σˣ_j⟩_β − ⟨σˣ_i⟩_β ⟨σˣ_j⟩_β for the OBC TFIM.

Unlike ZZCorrelation{:connected} (where ⟨σᶻ⟩ = 0 by Z₂ on OBC and the connected and bare correlators coincide), ⟨σˣ⟩_β ≠ 0 in general — σˣ is the field-coupled order parameter and acquires a non-zero expectation Σ[2i-1, 2i] from the BdG-thermal covariance.

For i = j the on-site σˣ variance simplifies to 1 − ⟨σˣ_i⟩² since (σˣ)² = I.

Internals: a single 2N × 2N BdG diagonalisation gives both the σˣ expectation values (read off the covariance Σ) and, with the identity evolution R = I at t = 0, the 4×4 Pfaffian for ⟨σˣ_i σˣ_j⟩_β.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::XXCorrelation{:static}, ::Infinite;
      beta::Real = Inf, i::Int, j::Int,
      N_proxy::Int = 80, kwargs...) -> Float64

Static ⟨σˣ_i σˣ_j⟩_β in the thermodynamic limit, delivered as the OBC value at proxy size N_proxy (default 80) — same compromise as SusceptibilityZZ/ZZStructureFactor at Infinite(), see TFIM_zaxis.jl for the rationale.

The caller is responsible for picking bulk-friendly indices, e.g. N_proxy / 4 ≤ i, j ≤ 3 N_proxy / 4. At those interior sites the boundary contamination decays exponentially with the distance to the nearest edge in the gapped phase, and as 1/distance at criticality.

Raise N_proxy if more accuracy is needed; the cost is the single 2 N_proxy × 2 N_proxy BdG diagonalisation.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::XXCorrelation{:static}, bc::OBC;
      beta::Real = Inf, i::Int, j::Int, kwargs...) -> Float64

Static (equal-time) thermal transverse correlator ⟨σˣ_i σˣ_j⟩_β for the OBC TFIM at inverse temperature beta. beta = Inf (the default) gives the ground-state value.

Implementation: re-uses _sx_sx_corr(N, J, h, i, j, 0.0; β=beta) from TFIM_dynamics.jl — a 4×4 Pfaffian over the four Majoranas (γ_{2i-1}, γ_{2i}, γ_{2j-1}, γ_{2j}). The result is real at equal time, so the imaginary residue (round-off) is dropped via real(...).

At i = j, ⟨(σˣ)²⟩ = ⟨I⟩ = 1 regardless of (β, J, h).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::XXStructureFactor, ::Infinite;
      beta::Real, q::Real, N_proxy::Int = 80, kwargs...) -> Float64

Static transverse structure factor S_xx(q, β) in the thermodynamic limit, computed as the OBC large-N proxy at N_proxy = 80 (default, ~3-digit accuracy at moderate β in the gapped phase; raise N_proxy to tighten). Same convention and proxy strategy as the existing SusceptibilityZZ / ZZStructureFactor Infinite methods in TFIM_zaxis.jl.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::XXStructureFactor, bc::OBC; beta::Real, q::Real, kwargs...)
    -> Float64

Static transverse structure factor S_xx(q, β) for the OBC TFIM with N sites. Defined as (1/N) Σ_{i,j} e^{-iq(i-j)} ⟨σˣ_i σˣ_j⟩_β with σˣ correlators from the t = 0 slice of the free-fermion Pfaffian formula.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::YYStructureFactor, ::Infinite;
      beta::Real, q::Real, N_proxy::Int = 80, kwargs...) -> Float64

Static σʸ structure factor in the thermodynamic limit; OBC large-N proxy at N_proxy.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::YYStructureFactor, bc::OBC; beta::Real, q::Real, kwargs...)
    -> Float64

Static σʸ structure factor for the OBC TFIM. Companion of XXStructureFactor.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::MagnetizationY, bc::OBC; beta) -> Float64

Per-site bulk magnetisation ⟨Σᵢ σʸᵢ⟩_β / N of the OBC TFIM. Identically zero in any Gaussian state because σʸ_i reduces to an odd product of Majoranas. Returned as exact 0.0 so callers can use it as a deterministic baseline against random-sample estimators that fluctuate around zero.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::SusceptibilityYY, bc::OBC; beta) -> Float64

Per-site equal-time fluctuation χ_yy(β) = (β / N) · Σ_{i,j} ⟨σʸ_i σʸ_j⟩_β of the OBC TFIM. ⟨σʸ⟩ = 0 in this Gaussian state, so the variance form simplifies to (β/N) · ⟨M_y²⟩.

Implementation: per pair (i, j) evaluate the Pfaffian of the static Majorana Wick matrix. Diagonal contribution ⟨(σʸᵢ)²⟩ = 1 (Pauli identity) is added directly, off-diagonal twice (symmetric). Cost is O(N² · M³) with M = 2 max(i, j) − 1; same scaling as SusceptibilityXX OBC and _xx_uniform_susceptibility in TFIM_thermal.jl.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::YYCorrelation{:connected}, bc::OBC;
      beta=Inf, i, j) -> Float64

Connected thermal correlator ⟨σʸ_i σʸ_j⟩_β − ⟨σʸ_i⟩ ⟨σʸ_j⟩. Since ⟨σʸ⟩ = 0 in any Gaussian state of the TFIM (odd-Majorana product), the connected and static values coincide off-diagonal; the diagonal returns 1 - 0² = 1.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::YYCorrelation{:dynamic}, bc::OBC;
      beta=Inf, i, j, t) -> ComplexF64

Real-time correlator ⟨σʸ_i(t) σʸ_j(0)⟩_β. Returns ComplexF64; the imaginary part is non-zero in general (Re part is even in t, Im part is odd in t — see the time-domain identity tests in test/identities/test_TFIM_dynamic_symmetries.jl).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::YYCorrelation{:static}, bc::OBC;
      beta=Inf, i, j) -> Float64

Static thermal correlator ⟨σʸ_i σʸ_j⟩_β on the OBC TFIM. Equivalent to the t = 0 slice of YYCorrelation with mode = :dynamic, returned as Float64 (the imaginary part is round-off only at t = 0).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::CorrelationLength, ::Infinite; kwargs...) -> Float64

T = 0 correlation length of the infinite TFIM in the relativistic continuum convention (inverse mass gap),

ξ = 1 / (2|h - J|)        (gapped phase)
ξ = Inf                   (critical point h = J)

set by the lattice mass gap Δ = 2|h - J| via the universal IR relation ξ = 1/Δ (with v_F = 1 implicit; lattice units). Tracks MassGap at Infinite.

Convention note

Three legitimate conventions exist for the TFIM correlation length on the lattice; QAtlas exposes the first by default for consistency with MassGap:

ConventionFormulaOrigin
Inverse mass gap (this fetch)`1 / (2h - J
Pfeuty 1970 longitudinal1 / log(max(J,h) / min(J,h))lattice JW-fermion <σᶻσᶻ> decay exact
Sachdev lattice relativistic`min(J,h) /h - J

The three agree to leading order near criticality (|h - J| << max). For exact lattice decay of the longitudinal correlator at any (J, h), use the Pfeuty form externally.

In QAtlas convention ξ is dimensionless (in units of the lattice spacing).

source
QAtlas.fetchMethod
fetch(model::TFIM, ::MagnetizationZ, ::Infinite; kwargs...) -> Float64

Spontaneous longitudinal magnetisation per site of the infinite TFIM at T = 0, m_z = (1 - (h/J)²)^{1/8} for h < J, else 0 (Pfeuty 1970). Returns the positive branch of the Z₂-broken doublet.

The result is the T = 0 order parameter; the function does not take a beta kwarg because m_z(T > 0) = 0 for any finite chain in the thermodynamic limit (Mermin-Wagner is irrelevant in 1D, but the broken phase requires explicit symmetry breaking; m_z(T,h) ≠ 0 only at T = 0). Pass beta = Inf if you want to be explicit; it is ignored.

source
QAtlas.fetchMethod
fetch(model::TFIM, ::SpontaneousMagnetization, ::Infinite; kwargs...) -> Float64

Same value as fetch(::TFIM, ::MagnetizationZ, ::Infinite), exposed under the order-parameter name commonly used in the Pfeuty / 2D-Ising universality literature. The struct SpontaneousMagnetization is shared with IsingSquare (defined in src/models/classical/IsingSquare/IsingSquare.jl); this method adds the TFIM-at-Infinite branch.

source

<!– ATLAS:DOCS:END –>