Triangular difference maps #
Rooted tree coordinates #
The parent's free index, or no index when the parent is the anchored particle.
Equations
- HsVirial.hardSphereTreeParentFreeIndex hT i = if hp : HsVirial.hardSphereTreeParent hT i = 0 then none else some (HsVirial.hardSphereFreeIndex (HsVirial.hardSphereTreeParent hT i) hp)
Instances For
Lift the particle-parent relation to each scalar spatial coordinate.
Equations
- HsVirial.hardSphereTreeFlatParent hT q = Option.map (fun (p : Fin (k - 1)) => (p, q.2)) (HsVirial.hardSphereTreeParentFreeIndex hT q.1)
Instances For
Order flattened spatial coordinates compatibly with the rooted-tree order.
Equations
Instances For
The linear transformation from scalar positions to scalar tree differences.
Equations
Instances For
Product-coordinate volume #
Flatten an anchored three-dimensional configuration into scalar coordinates.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Flattened position arrays with every three-dimensional block in the unit ball.
Equations
Instances For
Identify three-coordinate blocks with Euclidean positions, measurably.
Equations
- HsVirial.hardSphereBlockToPositionEquiv n = MeasurableEquiv.piCongrRight fun (x : Fin n) => MeasurableEquiv.toLp 2 (Fin 3 → ℝ)
Instances For
The separated two-member block #
Pairs of unit-ball positions separated by distance at least one.
Equations
- HsVirial.hardSphereSeparatedPairRegion = {p : HsVirial.HSPosition 3 × HsVirial.HSPosition 3 | p.1 ∈ Metric.ball 0 1 ∧ p.2 ∈ Metric.ball 0 1 ∧ 1 ≤ ‖p.1 - p.2‖}
Instances For
Relative coordinates for a separated pair #
Flatten a pair of three-dimensional Euclidean positions.
Equations
Instances For
Pairs of unit-ball positions separated by distance less than one.
Equations
- HsVirial.hardSphereClosePairRegion = {p : HsVirial.HSPosition 3 × HsVirial.HSPosition 3 | p.1 ∈ Metric.ball 0 1 ∧ p.2 ∈ Metric.ball 0 1 ∧ ‖p.1 - p.2‖ < 1}
Instances For
The lexicographic order on particle and spatial indices for a pair.
Equations
- HsVirial.hardSpherePairIndexOrder = LinearOrder.lift' (fun (q : Fin 2 × Fin 3) => toLex (q.1, q.2)) HsVirial.hardSpherePairIndexOrder._proof_1
Instances For
The linear parent-difference map on a flattened pair of positions.
Equations
Instances For
The two leaf positions relative to the common center of a fork.
Equations
Instances For
Families of separated pairs, each lying in the unit ball.
Equations
- HsVirial.hardSphereSeparatedPairProductRegion m = {x : Fin m → HsVirial.HSPosition 3 × HsVirial.HSPosition 3 | ∀ (i : Fin m), x i ∈ HsVirial.hardSphereSeparatedPairRegion}
Instances For
A product of separated-pair regions and unconstrained unit-ball positions.
Equations
Instances For
Canonical separated-block coordinates #
Split a position array into paired blocks and remaining single positions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reindex a position array before separating paired and single blocks.
Equations
- HsVirial.hardSphereReindexedBlockCoordinateEquiv e = (MeasurableEquiv.piCongrLeft (fun (x : Fin n) => HsVirial.HSPosition 3) e).symm.trans (HsVirial.hardSphereBlockCoordinateEquiv m q)
Instances For
The tree region in difference coordinates #
Send an anchored configuration to its flattened tree-difference coordinates.
Equations
Instances For
Send an anchored configuration to the Euclidean differences along tree edges.
Equations
- One or more equations did not get rendered due to their size.