Onsager's free energy and the torus pressure
DefinitionOnsager's free-energy double integral#✓fully proved
The integral
(1 / (8π²)) ∫_{-π}^{π} ∫_{-π}^{π} log (cosh² 2β - sinh 2β (cos k₁ + cos k₂)) dk₁ dk₂ in Onsager's
formula.
noncomputable def ons_freeEnergyIntegral (β : ℝ) : ℝ :=
(1 / (8 * Real.pi ^ 2)) *
∫ k₁ in (-Real.pi)..Real.pi, ∫ k₂ in (-Real.pi)..Real.pi, Real.log (ons_gInt β k₁ k₂)
noncomputable def ons_gInt (β k₁ k₂ : ℝ) : ℝ :=
Real.cosh (2*β)^2 - Real.sinh (2*β) * (Real.cos k₁ + Real.cos k₂)
PhyslibExt/CondensedMatter/IsingModel/Onsager/CriticalPoint.lean:61
Uses 1 · Used by 6
DefinitionOnsager's pressure of the square-lattice Ising model#✓fully proved
Onsager's pressure (minus β times the free energy per site) of the square-lattice Ising model:
log 2 plus ons_freeEnergyIntegral β.
noncomputable def ons_pressure (β : ℝ) : ℝ := Real.log 2 + ons_freeEnergyIntegral β
noncomputable def ons_freeEnergyIntegral (β : ℝ) : ℝ :=
(1 / (8 * Real.pi ^ 2)) *
∫ k₁ in (-Real.pi)..Real.pi, ∫ k₂ in (-Real.pi)..Real.pi, Real.log (ons_gInt β k₁ k₂)
PhyslibExt/CondensedMatter/IsingModel/Onsager/FreeEnergy.lean:64
Uses 1 · Used by 4
DefinitionLimit statement for \(\log X_L(\tanh\beta)/L^2\) on the torus#✓fully proved
The statement that log X_L(tanh β) / L² on the L × L torus converges to
ons_freeEnergyIntegral β - 2 log cosh β as L → ∞.
def ons_KacWardResidue (β : ℝ) : Prop :=
Filter.Tendsto
(fun L : ℕ => if h : 2 < L then
(letI : Fact (2 < L) := ⟨h⟩
Real.log (ons_X (onsTorusGraph L) (Real.tanh β)) / ((L : ℝ) ^ 2))
else 0)
Filter.atTop
(nhds (ons_freeEnergyIntegral β - 2 * Real.log (Real.cosh β)))
noncomputable def ons_X (x : ℝ) : ℝ :=
∑ F ∈ G.edgeFinset.powerset.filter IsEvenSubgraph, x ^ F.card
PhyslibExt/CondensedMatter/IsingModel/Onsager/HighTemp.lean:68
def onsTorusGraph (L : ℕ) [Fact (2 < L)] : SimpleGraph (ZMod L × ZMod L) where
Adj := onsTorusAdj L
symm := by
refine ⟨?_⟩
rintro u v (⟨h1, h2 | h2⟩ | ⟨h1, h2 | h2⟩)
· exact Or.inl ⟨h1.symm, Or.inr (by rw [h2]; ring)⟩
· exact Or.inl ⟨h1.symm, Or.inl (by rw [h2]; ring)⟩
· exact Or.inr ⟨h1.symm, Or.inr (by rw [h2]; ring)⟩
· exact Or.inr ⟨h1.symm, Or.inl (by rw [h2]; ring)⟩
loopless := by
have hne1 : (1 : ZMod L) ≠ 0 := by
have : Fact (1 < L) := ⟨by have := (Fact.out : 2 < L); omega⟩
⋯
PhyslibExt/CondensedMatter/IsingModel/Onsager/Torus.lean:65
noncomputable def ons_freeEnergyIntegral (β : ℝ) : ℝ :=
(1 / (8 * Real.pi ^ 2)) *
∫ k₁ in (-Real.pi)..Real.pi, ∫ k₂ in (-Real.pi)..Real.pi, Real.log (ons_gInt β k₁ k₂)
PhyslibExt/CondensedMatter/IsingModel/Onsager/FreeEnergy.lean:64
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.