Realizing a face by splitting local weights #
The positive generators of a proper point over an exposed face also lie over that face. This allows a refinement that moves the selected local atoms to a lower layer to realize the face while retaining the old upper fibres.
Every positively weighted generator of a flag combination lies on any upper face containing the combination.
Bounding the bases of the local generators over a face bounds its face index. The same bound passes to every proper convex combination.
A node containing every local-generator base over a face realizes the face as soon as its whole polytope maps into that face.
The layer-forgetting order map.
Equations
- EGZ.FlagDecomposition.FaceRefinement.projection Φ anchor = { toFun := ⇑(EGZ.TwoLayer.projection anchor), monotone' := ⋯ }
Instances For
Split the local atoms selected below the anchor into lower copies.
Equations
- EGZ.FlagDecomposition.FaceRefinement.splitWeights Φ anchor selected = { weight := EGZ.TwoLayer.splitWeight anchor Φ.localWeight selected, weight_le := ⋯, nonzero := ⋯, retained_le := ⋯ }
Instances For
Rebuild the selected split on its active nodes.
Equations
- EGZ.FlagDecomposition.FaceRefinement.decomposition Φ anchor selected hp = (EGZ.FlagDecomposition.FaceRefinement.splitWeights Φ anchor selected).decomposition hp
Instances For
Every old node survives in the upper layer.
A lower node is active whenever its old cumulative mass contains a selected atom.
The active upper copy of an old node.
Equations
- EGZ.FlagDecomposition.FaceRefinement.upper Φ anchor selected hp x = ⟨EGZ.TwoLayer.upper anchor x, ⋯⟩
Instances For
The original node order embeds into the active upper layer.
Equations
- EGZ.FlagDecomposition.FaceRefinement.upperOrderEmbedding Φ anchor selected hp = { toFun := EGZ.FlagDecomposition.FaceRefinement.upper Φ anchor selected hp, inj' := ⋯, map_rel_iff' := ⋯ }
Instances For
An original face, viewed in its unchanged upper polytope.
Equations
- EGZ.FlagDecomposition.FaceRefinement.upperFace Φ anchor selected hp x Γ = { carrier := Γ.carrier, is_exposed := ⋯, nonempty := ⋯ }
Instances For
Both layers retain the old nodewise coordinate bounds.
Forgetting layers maps the split decomposition into the old one.
Equations
- EGZ.FlagDecomposition.FaceRefinement.subdivisionMap Φ anchor selected hp = (EGZ.FlagDecomposition.FaceRefinement.splitWeights Φ anchor selected).subdivisionMap hp ⋯
Instances For
Complete upper elements retain the same cumulative weight and representation fibres.
Realized old faces remain realized at the unchanged upper nodes.
On the face-selected lower layer, a cumulative lifted fibre is either retained in full or deleted according to its upper transition coordinate.
The lower anchor keeps precisely the lifted support points on its face.
A surviving local generator projecting onto the selected face lies in the lower layer: its selected ambient atoms were removed from the upper copy of its base.
Every nonempty face supplies a selected cumulative atom at the lower anchor, so that anchor survives the rebuilding.
The active lower copy of the selected anchor.
Equations
- EGZ.FlagDecomposition.FaceRefinement.lowerAnchor Φ anchor hp Γ = ⟨EGZ.TwoLayer.lower anchor anchor ⋯, ⋯⟩
Instances For
The new lower anchor polytope is exactly the selected old face.
Splitting all atoms over the face into the lower layer realizes that face at the unchanged upper anchor.
Splitting the atoms over a chosen face realizes it at an upper copy of the anchor. This operation retains every old upper fibre and all mass, uses at most twice as many nodes, and preserves the old coordinate bounds.