Constraint polytopes and finite convex decompositions #
Adapted for Lean Pool from the Apache-2.0 upstream formalization, with module-system, Mathlib API, and compilation changes.
The finite set of indices whose constraints are active at x.
Equations
- OlevskiiGram.activeConstraintIndexSet a x = {j : ι | |OlevskiiGram.realDot x (a j)| = 1}
Instances For
Adding one genuinely new active index strictly increases the active count.
If all old active constraints remain active and one inactive constraint becomes active, then the active count strictly increases.
Predicate for a point maximizing Φ on the constraint polytope.
Equations
- OlevskiiGram.IsConstraintPolytopeMaximizer a Φ x = (x ∈ OlevskiiGram.constraintPolytope a ∧ ∀ y ∈ OlevskiiGram.constraintPolytope a, Φ y ≤ Φ x)
Instances For
The dot product with a fixed first argument, as a linear functional.
Equations
- OlevskiiGram.realDotLinearFunctional x = { toFun := fun (y : ι → ℝ) => OlevskiiGram.realDot x y, map_add' := ⋯, map_smul' := ⋯ }
Instances For
Continuity of the finite real dot product as a function of its first argument.
The linear map collecting all constraint functionals.
Equations
- OlevskiiGram.constraintLinearMap a = { toFun := fun (x : n → ℝ) (j : ι) => OlevskiiGram.realDot x (a j), map_add' := ⋯, map_smul' := ⋯ }
Instances For
If the constraint vectors span, then the constraint map is injective.
If the active span is proper, there is a nonzero direction annihilating every
active constraint vector under realDot.
Active constraints remain active along a direction annihilating them.
If a direction annihilates every active constraint, then a small whole segment around the base point remains in the constraint polytope.
The constraint polytope always contains the origin.
The constraint polytope is closed.
A continuous function on the constraint polytope attains its maximum.
There is a maximizer whose number of active constraints is maximal.
The constraint polytope is convex.
If a maximizer is a genuine convex combination of two feasible endpoints, then both endpoints are maximizers.
At the scalar endpoint time, the scalar constraint is active.
Endpoint construction in the active-constraint maximizer lemma.
All compactness, local-motion, and convexity/maximizer consequences have been separated out. This lemma proves the remaining endpoint/geometric part: from a nonzero feasible perturbation direction, one can find feasible endpoints whose convex combination is the base point, all old active constraints remain active at one endpoint, and one genuinely new constraint becomes active there.
The endpoint construction implies the active-count increase used downstream.
Endpoint contradiction after proving the endpoint maximizer fact from convexity.
The perturbation contradiction, reduced to the endpoint part after proving there is positive room to move inside the polytope.
A maximal-active-cardinality maximizer has full active span via the endpoint perturbation argument.
The active-constraint maximizer lemma, proved using the perturbation argument.
A compact set lies in a nonempty compact convex set when its support function is smaller.
The Frobenius support value of a rank-one cube matrix is the associated quadratic form.
Rank-one cube matrices, as a subset of the ambient real matrix space.
Equations
- OlevskiiGram.realRankOneCubeSet d = {R : Matrix d d ℝ | ∃ (q : d → ℝ), OlevskiiGram.InRealUnitCube q ∧ R = OlevskiiGram.realRankOne q}
Instances For
Flatten a matrix into the Euclidean coordinate space indexed by pairs.
Equations
- OlevskiiGram.matrixToEuclidean A = WithLp.toLp 2 fun (ij : d × d) => A ij.1 ij.2
Instances For
Unflatten a Euclidean vector indexed by pairs into a matrix.
Instances For
Rank-one cube matrices, flattened into Euclidean space.
Equations
- OlevskiiGram.realRankOneCubeEuclideanSet d = (fun (A : Matrix d d ℝ) => OlevskiiGram.matrixToEuclidean A) '' OlevskiiGram.realRankOneCubeSet d
Instances For
The coordinate cube [-1,1]^d is compact.
The rank-one flattening map is continuous on the real cube ambient space.
The flattened rank-one cube image is compact.
The set of barycentres of k points of s, with weights in the standard
simplex.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A finite-dimensional Caratheodory-sized union of barycentric images.
Equations
- OlevskiiGram.finiteBarycentricHull s = ⋃ (k : Fin (Module.finrank ℝ E + 2)), OlevskiiGram.barycentricImageSet s ↑k
Instances For
Barycentric images of compact sets are compact.
Membership in the convex hull of a finite subset gives an explicit barycentric image point.
In finite dimension, the convex hull is the Caratheodory-sized barycentric union.
The convex hull of a compact set in finite-dimensional real space is compact.
The convex hull of a compact set in finite-dimensional real space is closed.
For compact sets in finite dimension, closed convex hull equals convex hull.
Flattening and then unflattening a matrix gives the original matrix.
Unflattening and then flattening a Euclidean matrix-vector gives the original vector.
The symmetric part is symmetric.
Rank-one real matrices are symmetric.
A symmetric right factor only sees the symmetric part of the left factor.
The quadratic form of the symmetric part is the average of the two transpose forms.
The Euclidean inner product of flattened matrices is the trace pairing.
A real symmetric matrix is Hermitian in Mathlib's matrix sense.
A real Hermitian matrix is symmetric in entrywise real coordinates.
The explicit Hermitian matrix functional calculus preserves real symmetry.
The real quadratic-form PSD predicate implies Mathlib's matrix PSD predicate.
Mathlib's matrix PSD predicate implies nonnegativity of the real quadratic form.
If a real function is nonnegative on the spectrum, its Hermitian matrix functional calculus is positive semidefinite in the project's quadratic-form sense.
Trace of the explicit Hermitian matrix functional calculus.
Mathlib's CFC positive part agrees with the explicit Hermitian matrix cfc.
Trace of the CFC positive part as the sum of positive eigenvalue parts.
Trace of the CFC positive part, indexed by Mathlib's canonical sorted eigenvalue list.
The identity matrix is real symmetric.
Symmetry is preserved by subtracting from the identity.
The zero matrix is real positive semidefinite.
The identity matrix is real positive semidefinite.
The identity matrix satisfies 0 ≤ I ≤ I.
The trace of a product of two real PSD matrices is nonnegative.
The support-function property expected from the positive spectral part of A.
For the paper proof, Apos is instantiated as the positive spectral part of
A; this predicate packages the required support-function property.
Equations
- One or more equations did not get rendered due to their size.
Instances For
For a positive semidefinite test matrix, the support function over 0 ≤ G ≤ I
is attained at G = I.
Upper-bound half of the positive/negative spectral-part support-function
argument. This is enough for the convex-hull separation proof once
Ball--Prodromou supplies a cube vector with quadratic value at least
Apos.trace.
For a real symmetric matrix, Mathlib's CFC positive part gives the support
upper bound over the Loewner interval 0 ≤ G ≤ I.
Abstract positive/negative spectral-part criterion for the support-function
property. The remaining spectral task is to provide Apos, Aneg, and
Ppos satisfying these hypotheses for a real symmetric matrix A.
The real convex-decomposition theorem as an explicit property.
This packages the substantial mathematical statement that every real
symmetric matrix with 0 ≤ T ≤ I should be a finite convex combination of
rank-one matrices q qᵀ with q ∈ [-1,1]^d. It is established below by
hasRealConvexDecomposition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The cube quadratic maximum follows from the support-function maximizer and the real convex decomposition.