The big simplex on total_card card coordinates.
Equations
- BigSimplex card = stdSimplex ℝ (Fin ↑(total_card card))
Instances For
The product of simplices indexed by I.
Equations
- ProductSimplices card = ((i : I) → ↑(stdSimplex ℝ (Fin ↑(card i))))
Instances For
Cumulative sum of card over indices strictly less than i.
Equations
- prefix_sum card i = ∑ j : I with j < i, ↑(card j)
Instances For
A flat index k belongs to a unique block i with an in-block index j.
Split a flat index k into its block/index pair (i, j).
Equations
- index_split card k = Classical.choose ⋯
Instances For
Specification of index_split: bounds and value relation for (i, j).
Combine a block/index pair (i, j) back into a flat index.
Equations
- index_combine card p = ⟨prefix_sum card p.fst + ↑p.snd, ⋯⟩
Instances For
index_split is a left inverse to index_combine.
index_combine is a left inverse to index_split.
Weight (size fraction) of block i: (card i) / (total_card card).
Equations
- blockWeight card i = ↑↑(card i) / ↑↑(total_card card)
Instances For
Sum of coordinates of x over the block i.
Instances For
The uniform point in each block simplex.
Instances For
The uniform point in the big simplex.
Equations
- z_uniform card = ⟨fun (x : Fin ↑(total_card card)) => 1 / ↑↑(total_card card), ⋯⟩
Instances For
Total positive shortfall of block sums relative to block weights.
Instances For
Convex push of x toward z_uniform by amount tPush.
Equations
Instances For
Retraction from the big simplex to the product of simplices.
Equations
- project_to_product card x i = ⟨fun (j : Fin ↑(card i)) => ↑(pushTowardsZ card x) (index_combine card ⟨i, j⟩) / blockSum card i (pushTowardsZ card x), ⋯⟩
Instances For
Embedding of the product of simplices into the big simplex.
Equations
- embed_from_product card y = ⟨fun (k : Fin ↑(total_card card)) => have p := index_split card k; ↑(y p.fst) p.snd * ↑↑(card p.fst) / ↑↑(total_card card), ⋯⟩
Instances For
blockSum card i x is always nonnegative.
deficit card x is always nonnegative.
tPush card x is always in [0, 1].
The block sum after pushing towards z_uniform follows a linear formula.
The block sum after pushing towards z_uniform is always positive.
Continuity of blockSum card i.
Continuity of deficit card.
Continuity of tPush card.
Continuity of pushTowardsZ card.
Continuity of project_to_product.
Continuity of embed_from_product.
Brouwer fixed point theorem for a product of simplices, via a retraction.