The canonical particle and edge conventions #
@[instance_reducible]
Order unordered edges lexicographically by their sorted endpoints.
Instances For
@[instance_reducible]
@[reducible, inline]
Positions of the free particles, with the distinguished particle anchored at zero.
Equations
- HsVirial.HardSphereConfiguration k d = (Fin (k - 1) → HsVirial.HSPosition d)
Instances For
def
HsVirial.hardSpherePosition
{k d : ℕ}
[NeZero k]
(r : HardSphereConfiguration k d)
(i : Fin k)
:
Recover a particle position, assigning zero to the anchored particle.
Equations
- HsVirial.hardSpherePosition r i = if hi : i = 0 then 0 else r (HsVirial.hardSphereFreeIndex i hi)
Instances For
@[simp]
@[simp]
theorem
HsVirial.hardSpherePosition_free
{k d : ℕ}
[NeZero k]
(r : HardSphereConfiguration k d)
(i : Fin (k - 1))
:
theorem
HsVirial.continuous_hardSpherePosition
{k d : ℕ}
[NeZero k]
(i : Fin k)
:
Continuous fun (x : HardSphereConfiguration k d) => hardSpherePosition x i
noncomputable def
HsVirial.hardSphereActiveExact
{k d : ℕ}
[NeZero k]
(r : HardSphereConfiguration k d)
:
Record whether the two endpoint positions of an edge are less than one unit apart.
Equations
- HsVirial.hardSphereActiveExact r = Sym2.lift ⟨fun (i j : Fin k) => decide (‖HsVirial.hardSpherePosition r i - HsVirial.hardSpherePosition r j‖ < 1), ⋯⟩
Instances For
@[simp]
theorem
HsVirial.hardSphereActiveExact_mk
{k d : ℕ}
[NeZero k]
(r : HardSphereConfiguration k d)
(i j : Fin k)
:
theorem
HsVirial.measurable_hardSphereActiveExact_edge
{k d : ℕ}
[NeZero k]
(e : Sym2 (Fin k))
:
Measurable fun (r : HardSphereConfiguration k d) => hardSphereActiveExact r e
theorem
HsVirial.measurable_finite_bool_comp
{X : Type u_1}
{E : Type u_2}
{Y : Type u_3}
[MeasurableSpace X]
[Finite E]
[MeasurableSpace Y]
(active : X → E → Bool)
(hactive : ∀ (e : E), Measurable fun (x : X) => active x e)
(g : (E → Bool) → Y)
:
Measurable fun (x : X) => g (active x)
theorem
HsVirial.measurable_hardSphereOmega
{k d : ℕ}
[NeZero k]
:
Measurable fun (r : HardSphereConfiguration k d) => ↑(mayerKernel (hardSphereActiveExact r))
noncomputable def
HsVirial.hardSphereEdgeDistance
{V : Type u_1}
{d : ℕ}
(position : V → HSPosition d)
(e : Sym2 V)
:
The distance between the endpoints of an unordered edge.
Equations
Instances For
@[simp]
theorem
HsVirial.hardSphereEdgeDistance_mk
{V : Type u_1}
{d : ℕ}
(position : V → HSPosition d)
(i j : V)
:
theorem
HsVirial.norm_sub_le_walk_length
{V : Type u_1}
{d : ℕ}
{G : SimpleGraph V}
{position : V → HSPosition d}
{u v : V}
(p : G.Walk u v)
(hedge : ∀ e ∈ p.edges, hardSphereEdgeDistance position e < 1)
:
theorem
HsVirial.hardSphereEdgeDistance_lt_one_of_overlap
{k d : ℕ}
[NeZero k]
(r : HardSphereConfiguration k d)
{e : Sym2 (Fin k)}
(he : e ∈ (overlapGraph (hardSphereActiveExact r)).edgeSet)
:
theorem
HsVirial.hardSpherePosition_norm_lt_of_connected
{k d : ℕ}
[NeZero k]
(r : HardSphereConfiguration k d)
(hG : (overlapGraph (hardSphereActiveExact r)).Connected)
(i : Fin k)
:
theorem
HsVirial.hardSphereConfiguration_mem_closedBall_of_connected
{k d : ℕ}
[NeZero k]
(r : HardSphereConfiguration k d)
(hG : (overlapGraph (hardSphereActiveExact r)).Connected)
:
theorem
HsVirial.hardSphereMayerKernel_zero_of_not_connected
{k d : ℕ}
[NeZero k]
(r : HardSphereConfiguration k d)
(hG : ¬(overlapGraph (hardSphereActiveExact r)).Connected)
:
The signed Mayer graph sum evaluated at the configuration's overlap graph.
Equations
Instances For
The hard-sphere cluster integral normalized by the factorial of the particle count.
Equations
- HsVirial.hardSphereBk = (↑k.factorial)⁻¹ * ∫ (r : HsVirial.HardSphereConfiguration k d), HsVirial.hardSphereOmega r
Instances For
The volume of configurations assigned to a fixed no-broken-circuit tree.
Equations
Instances For
theorem
HsVirial.hardSphereConfiguration_mem_closedBall_of_region
{k d : ℕ}
[NeZero k]
(r : HardSphereConfiguration k d)
{T : Finset (Sym2 (Fin k))}
(hr : r ∈ nbcRegion hardSphereActiveExact T)
:
theorem
HsVirial.hardSphereOmega_zero_of_not_mem_closedBall
{k d : ℕ}
[NeZero k]
{r : HardSphereConfiguration k d}
(hr : r ∉ Metric.closedBall 0 ↑k)
:
theorem
HsVirial.norm_mayerKernel_real_le_card
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(x : Sym2 V → Bool)
:
theorem
HsVirial.integrable_hardSphereNBC_indicator
{k d : ℕ}
[NeZero k]
(T : Finset (Sym2 (Fin k)))
:
MeasureTheory.Integrable ((nbcRegion hardSphereActiveExact T).indicator fun (x : HardSphereConfiguration k d) => 1)
MeasureTheory.volume
theorem
HsVirial.real_abs_mayerKernel_eq_intMagnitude
{V : Type u_1}
[Fintype V]
[DecidableEq V]
(x : Sym2 V → Bool)
:
theorem
HsVirial.hardSphere_absOmega_eq_region_indicator_sum
{k d : ℕ}
[NeZero k]
(r : HardSphereConfiguration k d)
:
|hardSphereOmega r| = ∑ T ∈ treeUniverse, (nbcRegion hardSphereActiveExact T).indicator (fun (x : HardSphereConfiguration k d) => 1) r
theorem
HsVirial.hardSphereOmega_eq_sign_mul_abs
{k d : ℕ}
[NeZero k]
(r : HardSphereConfiguration k d)
:
theorem
HsVirial.integral_abs_hardSphereOmega_eq_sum_volume
{k d : ℕ}
[NeZero k]
:
∫ (r : HardSphereConfiguration k d), |hardSphereOmega r| = ∑ T ∈ treeUniverse, MeasureTheory.volume.real (nbcRegion hardSphereActiveExact T)
theorem
HsVirial.integral_hardSphereOmega_eq_sign_mul_abs
{k d : ℕ}
[NeZero k]
:
∫ (r : HardSphereConfiguration k d), hardSphereOmega r = (-1) ^ (k - 1) * ∫ (r : HardSphereConfiguration k d), |hardSphereOmega r|
theorem
HsVirial.abs_integral_hardSphereOmega_eq_integral_abs
{k d : ℕ}
[NeZero k]
:
|∫ (r : HardSphereConfiguration k d), hardSphereOmega r| = ∫ (r : HardSphereConfiguration k d), |hardSphereOmega r|
theorem
HsVirial.hardSphere_nbc_volume_identity
{k d : ℕ}
(hk : 2 ≤ k)
:
have x := ⋯;
↑k.factorial * |hardSphereBk| = ∑ T ∈ treeUniverse, hardSphereNBCVolume T