pp. 1β9, 16β20 β (RPMIO), SOS matrices, SOS-convexity, PSD-SOS-convexity, π¬^m_k(G), moment and localizing matrices, π^m_k(G), the hierarchy (4.4)β(4.5)
DefinitionRobustPMI_Hierarchy_ModelThe objects of Guo and Wang's moment-SOS hierarchy for robust polynomial matrix inequality optimization.
The problem (RPMIO). Let with , let , let be a symmetric polynomial matrix in , and let be an symmetric polynomial matrix in . Put
A global minimizer is a feasible with for every feasible .
Sums of squares. For a polynomial matrix , . A polynomial is SOS if it is a finite sum of squares; a symmetric polynomial matrix is an SOS matrix if for some polynomial matrix . A polynomial is SOS-convex if its Hessian is an SOS matrix (Definition 2.2), and is PSD-SOS-convex if for every there is a polynomial matrix with (Definition 2.4). For and , , where is the matrix of traces of the blocks of . The truncated matrix quadratic module is
Moments. For a sequence of matrices, the Riesz functional is ; the moment matrix has block and the localizing matrix has block , for (Definition 2.12). With ,
For and , and are these sets for the diagonal matrix (Remark 2.16). A finitely atomic PSD matrix-valued measure on is with distinct and (Definition 2.7); its moments are and .
The hierarchy. Write , and set and , where . Let and . For ,
Finally .
Assumptions. Assumption 1: are SOS-convex, is PSD-SOS-convex in for every , and is compact. Assumption 2: there are and an SOS matrix with SOS, where . Assumption 3 (Slater): some has for all and for all .
These definitions are shared by every statement of the mission.
Formalization Note In the variables Sum.inl j are and Sum.inr i are ; is read off through MvPolynomial.sumAlgEquiv. Moment sequences are total functions on all exponents; each object reads only the entries the paper's truncation has ( for , for (4.5)), so the extra entries are unconstrained and never read, and the optimal values are unchanged. Symmetry of is required for . is written (a + 1) / 2 in , and is natural subtraction (the paper only uses ). The optimal values , are EReal suprema and infima, so an infeasible or unbounded relaxation gets rather than a junk ; is a real infimum, attained under the paper's standing assumption that (RPMIO) has an optimizer, which every theorem carries as a hypothesis.
import Mathlib
namespace RobustPMI.Hierarchy
open MvPolynomial Matrix
noncomputable section
/-! ## Polynomial matrices and sums of squares (Β§2.1, pp. 5β7) -/
section SOS
variable {Ο ΞΉ ΞΊ : Type*}
/-- `deg(T) := max_{i,j} deg(T_ij)` for a polynomial matrix `T` (p. 5). -/
def degMat [Fintype ΞΉ] [Fintype ΞΊ] (T : Matrix ΞΉ ΞΊ (MvPolynomial Ο β)) : β :=
Finset.univ.sup fun p : ΞΉ Γ ΞΊ => (T p.1 p.2).totalDegree
/-- `supp(F)`: the exponents `Ξ±` such that `x^Ξ±` appears in some entry of the polynomial matrix
`F` (p. 8). -/
def suppMat {R : Type*} [CommSemiring R] [DecidableEq Ο] [Fintype ΞΉ] [Fintype ΞΊ]
(F : Matrix ΞΉ ΞΊ (MvPolynomial Ο R)) : Finset (Ο ββ β) :=
Finset.univ.biUnion fun p : ΞΉ Γ ΞΊ => (F p.1 p.2).support
/-- The coefficient matrix `F_Ξ±` of `x^Ξ±` in the polynomial matrix `F` (p. 8). -/
def coeffMat {R : Type*} [CommSemiring R] (F : Matrix ΞΉ ΞΊ (MvPolynomial Ο R)) (Ξ± : Ο ββ β) :
Matrix ΞΉ ΞΊ R :=
F.map (coeff Ξ±)
/-- An SOS polynomial: `h = β_{i=1}^t h_iΒ²` (p. 5). -/
def IsSOSPoly (h : MvPolynomial Ο β) : Prop :=
β (t : β) (g : Fin t β MvPolynomial Ο β), h = β i, g i ^ 2
/-- An SOS matrix: `Ξ£(x) = T(x)α΅ T(x)` for some `l Γ q` polynomial matrix `T(x)` (p. 5). -/
def IsSOSMat [Fintype ΞΉ] (Sig : Matrix ΞΉ ΞΉ (MvPolynomial Ο β)) : Prop :=
β (l : β) (T : Matrix (Fin l) ΞΉ (MvPolynomial Ο β)), Sig = Tα΅ * T
/-- The Hessian `β_{yy} h` of a polynomial `h` (p. 5). -/
def hessian (h : MvPolynomial Ο β) : Matrix Ο Ο (MvPolynomial Ο β) :=
Matrix.of fun i j => pderiv i (pderiv j h)
/-- Definition 2.2 (p. 6): `h` is SOS-convex if its Hessian is an SOS matrix. -/
def IsSOSConvex [Fintype Ο] (h : MvPolynomial Ο β) : Prop :=
IsSOSMat (hessian h)
/-- The polynomial `vα΅ Q(y) v` for a polynomial matrix `Q` and a real vector `v`. -/
def quadForm [Fintype ΞΉ] (Q : Matrix ΞΉ ΞΉ (MvPolynomial Ο β)) (v : ΞΉ β β) : MvPolynomial Ο β :=
β i, β j, C (v i) * Q i j * C (v j)
/-- Definition 2.4 (p. 6): `Q(y)` is PSD-SOS-convex if for every `v β β^m` there is a polynomial
matrix `F_v(y)` with `β_{yy}(vα΅ Q(y) v) = F_v(y)α΅ F_v(y)`. -/
def IsPSDSOSConvex [Fintype Ο] [Fintype ΞΉ] (Q : Matrix ΞΉ ΞΉ (MvPolynomial Ο β)) : Prop :=
β v : ΞΉ β β, β (l : β) (F : Matrix (Fin l) Ο (MvPolynomial Ο β)),
hessian (quadForm Q v) = Fα΅ * F
/-- `tr_m(C)`: the `m Γ m` matrix of the traces of the `q Γ q` blocks `C_{jk}` of an
`mq Γ mq` matrix `C`, rows and columns indexed by (block index, index inside the block) (p. 6). -/
def trBlocks {R : Type*} [AddCommMonoid R] [Fintype ΞΊ] (C : Matrix (ΞΉ Γ ΞΊ) (ΞΉ Γ ΞΊ) R) :
Matrix ΞΉ ΞΉ R :=
Matrix.of fun j k => β a, C (j, a) (k, a)
/-- The bilinear map `(A, B)_m = tr_m(Aα΅ (I_m β B))` (p. 6). -/
def pairM {R : Type*} [CommRing R] [Fintype ΞΉ] [DecidableEq ΞΉ] [Fintype ΞΊ]
(A : Matrix (ΞΉ Γ ΞΊ) (ΞΉ Γ ΞΊ) R) (B : Matrix ΞΊ ΞΊ R) : Matrix ΞΉ ΞΉ R :=
trBlocks (Aα΅ * Matrix.kroneckerMap (Β· * Β·) (1 : Matrix ΞΉ ΞΉ R) B)
/-- The inner product `β¨Nβ, Nββ© = tr(Nβα΅ Nβ)` (p. 5). -/
def innerMat {R : Type*} [CommRing R] [Fintype ΞΊ] (Nβ Nβ : Matrix ΞΊ ΞΊ R) : R :=
Matrix.trace (Nβα΅ * Nβ)
/-- The `k`-th truncated matrix quadratic module `π¬^m_k(G)` (p. 7): the polynomial matrices
`Ξ£β + (Ξ£β, G)_m` with `Ξ£β` (`m Γ m`) and `Ξ£β` (`mq Γ mq`) SOS matrices and
`deg(Ξ£β), deg((Ξ£β, G)_m) β€ 2k`. -/
def QM [Fintype ΞΉ] [DecidableEq ΞΉ] [Fintype ΞΊ] (k : β) (G : Matrix ΞΊ ΞΊ (MvPolynomial Ο β)) :
Set (Matrix ΞΉ ΞΉ (MvPolynomial Ο β)) :=
{F | β (Sig0 : Matrix ΞΉ ΞΉ (MvPolynomial Ο β)) (Sig1 : Matrix (ΞΉ Γ ΞΊ) (ΞΉ Γ ΞΊ) (MvPolynomial Ο β)),
IsSOSMat Sig0 β§ IsSOSMat Sig1 β§ degMat Sig0 β€ 2 * k β§ degMat (pairM Sig1 G) β€ 2 * k β§
F = Sig0 + pairM Sig1 G}
end SOS
/-! ## Matrix-valued moment sequences (Β§2.3, pp. 8β9) -/
section Moments
variable {Ο ΞΉ ΞΊ : Type*} [Fintype Ο] [DecidableEq Ο]
/-- `ββΏ_d = {Ξ± β ββΏ : |Ξ±| β€ d}` (p. 5), as a finite set of exponents. -/
def monos (d : β) : Finset (Ο ββ β) :=
(Finset.Iic (Finsupp.equivFunOnFinite.symm fun _ => d)).filter fun Ξ± => Ξ±.degree β€ d
/-- A (matrix-valued) sequence `S = (S_Ξ±)_Ξ±`, `S_Ξ± β β^{m Γ m}`. Only finitely many entries are
read by each object below. -/
abbrev MatSeq (Ο ΞΉ : Type*) := (Ο ββ β) β Matrix ΞΉ ΞΉ β
/-- The Riesz functional `π_S(F) = β_{Ξ± β supp(F)} tr(F_Ξ± S_Ξ±)` (p. 8). -/
def riesz [Fintype ΞΉ] (S : MatSeq Ο ΞΉ) (F : Matrix ΞΉ ΞΉ (MvPolynomial Ο β)) : β :=
β Ξ± β suppMat F, Matrix.trace (coeffMat F Ξ± * S Ξ±)
/-- Definition 2.12 (p. 8): the `d`-th order moment matrix `M_d(S)`, with block rows and columns
indexed by `ββΏ_d` and `(Ξ±, Ξ²)`-th block `S_{Ξ±+Ξ²}`. -/
def momentMat (d : β) (S : MatSeq Ο ΞΉ) :
Matrix ((monos (Ο := Ο) d) Γ ΞΉ) ((monos (Ο := Ο) d) Γ ΞΉ) β :=
Matrix.of fun p p' => S (p.1.1 + p'.1.1) p.2 p'.2
/-- Definition 2.12 (p. 8): the `d`-th order localizing matrix `M_d(GS)`, with block rows and
columns indexed by `ββΏ_d` and `(Ξ±, Ξ²)`-th block `β_{Ξ³ β supp(G)} S_{Ξ±+Ξ²+Ξ³} β G_Ξ³`. -/
def locMat [Fintype ΞΊ] (d : β) (G : Matrix ΞΊ ΞΊ (MvPolynomial Ο β)) (S : MatSeq Ο ΞΉ) :
Matrix ((monos (Ο := Ο) d) Γ (ΞΉ Γ ΞΊ)) ((monos (Ο := Ο) d) Γ (ΞΉ Γ ΞΊ)) β :=
Matrix.of fun p p' =>
β Ξ³ β suppMat G, S (p.1.1 + p'.1.1 + Ξ³) p.2.1 p'.2.1 * coeff Ξ³ (G p.2.2 p'.2.2)
/-- `d_G := βdeg(G)/2β` (p. 9). -/
def dG [Fintype ΞΊ] (G : Matrix ΞΊ ΞΊ (MvPolynomial Ο β)) : β :=
(degMat G + 1) / 2
/-- `π^m_k(G)` (p. 9): sequences `(S_Ξ±)_{Ξ± β ββΏ_{2k}}` of symmetric matrices with
`M_k(S) βͺ° 0` and `M_{k - d_G}(GS) βͺ° 0`. Entries `S_Ξ±` with `|Ξ±| > 2k` are not constrained and
are not read. -/
def MM [Fintype ΞΉ] [Fintype ΞΊ] (k : β) (G : Matrix ΞΊ ΞΊ (MvPolynomial Ο β)) : Set (MatSeq Ο ΞΉ) :=
{S | (β Ξ± : Ο ββ β, Ξ±.degree β€ 2 * k β (S Ξ±).IsSymm) β§ (momentMat k S).PosSemidef β§
(locMat (k - dG G) G S).PosSemidef}
/-- `π^m(G) := β_{k β₯ d_G} π^m_k(G)` (p. 9). -/
def MMall [Fintype ΞΉ] [Fintype ΞΊ] (G : Matrix ΞΊ ΞΊ (MvPolynomial Ο β)) : Set (MatSeq Ο ΞΉ) :=
{S | β k : β, dG G β€ k β S β MM k G}
/-- A scalar sequence `s = (s_Ξ±)_Ξ±`, viewed as a sequence of `1 Γ 1` matrices (`m = 1`). -/
def scalarSeq (s : (Ο ββ β) β β) : MatSeq Ο (Fin 1) :=
fun Ξ± => Matrix.of fun _ _ => s Ξ±
/-- The linear functional `π_s(h) = β_{Ξ± β supp(h)} h_Ξ± s_Ξ±` (p. 19). -/
def Hs (s : (Ο ββ β) β β) (h : MvPolynomial Ο β) : β :=
β Ξ± β h.support, coeff Ξ± h * s Ξ±
/-- `s_e = (s_{e_1}, β¦, s_{e_β})` (p. 20). -/
def sE (s : (Ο ββ β) β β) : Ο β β :=
fun j => s (Finsupp.single j 1)
/-- Remark 2.16 (p. 9): `π¬_k(Ξ) = π¬^1_k(diag(ΞΈβ, β¦, ΞΈ_s))`. -/
def QTheta {s : β} (k : β) (ΞΈ : Fin s β MvPolynomial Ο β) : Set (MvPolynomial Ο β) :=
{h | (Matrix.of fun _ _ => h : Matrix (Fin 1) (Fin 1) (MvPolynomial Ο β)) β
QM k (Matrix.diagonal ΞΈ)}
/-- Remark 2.16 (p. 9): `π_k(Ξ) = π^1_k(diag(ΞΈβ, β¦, ΞΈ_s))`. -/
def MTheta {s : β} (k : β) (ΞΈ : Fin s β MvPolynomial Ο β) : Set ((Ο ββ β) β β) :=
{v | scalarSeq v β MM k (Matrix.diagonal ΞΈ)}
end Moments
/-! ## The problem (RPMIO) (pp. 1β2) and its data -/
section Problem
variable {β n m q s : β}
/-- `π΄ := {y β β^β : ΞΈβ(y) β₯ 0, β¦, ΞΈ_s(y) β₯ 0}` (1.1), p. 2. -/
def Yset (ΞΈ : Fin s β MvPolynomial (Fin β) β) : Set (Fin β β β) :=
{y | β j, 0 β€ eval y (ΞΈ j)}
/-- `π³ := {x β ββΏ : G(x) βͺ° 0}` (1.2), p. 2. -/
def Xset (G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)) : Set (Fin n β β) :=
{x | (G.map (eval x)).PosSemidef}
/-- `P(y, x) β β^{m Γ m}`; in `P` the variables `Sum.inl j` are `y_j` and `Sum.inr i` are `x_i`. -/
def evalP (P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β)) (y : Fin β β β)
(x : Fin n β β) : Matrix (Fin m) (Fin m) β :=
P.map (eval (Sum.elim y x))
/-- The feasible set of (RPMIO): `y β π΄` with `P(y, x) βͺ° 0` for all `x β π³` (p. 1). -/
def Feasible (ΞΈ : Fin s β MvPolynomial (Fin β) β)
(P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β))
(G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)) : Set (Fin β β β) :=
{y | y β Yset ΞΈ β§ β x β Xset G, (evalP P y x).PosSemidef}
/-- The optimal value `fβ` of (RPMIO) (p. 1), as a real infimum; it is attained under the
standing assumption of p. 2 that (RPMIO) has an optimizer. -/
def fstar (f : MvPolynomial (Fin β) β) (ΞΈ : Fin s β MvPolynomial (Fin β) β)
(P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β))
(G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)) : β :=
sInf ((fun y => eval y f) '' Feasible ΞΈ P G)
/-- `y` is a global minimizer (optimal solution) of (RPMIO). -/
def IsGlobalMin (f : MvPolynomial (Fin β) β) (ΞΈ : Fin s β MvPolynomial (Fin β) β)
(P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β))
(G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)) (y : Fin β β β) : Prop :=
y β Feasible ΞΈ P G β§ β y' β Feasible ΞΈ P G, eval y f β€ eval y' f
/-- `P(Β·, x) β π[y]^m`: the polynomial matrix in `y` obtained by fixing `x`. -/
def Patx (P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β)) (x : Fin n β β) :
Matrix (Fin m) (Fin m) (MvPolynomial (Fin β) β) :=
P.map (aeval (Sum.elim (X : Fin β β MvPolynomial (Fin β) β) fun i => C (x i)))
/-- `P` regarded as a polynomial matrix in `y` with coefficients in `β[x]`. -/
def Py (P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β)) :
Matrix (Fin m) (Fin m) (MvPolynomial (Fin β) (MvPolynomial (Fin n) β)) :=
P.map (sumAlgEquiv β (Fin β) (Fin n))
/-- `P_Ξ²(x) β π[x]^m`, the coefficient matrix of `y^Ξ²` in `P(y, x) = β_Ξ² P_Ξ²(x) y^Ξ²` (p. 16). -/
def Pbeta (P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β)) (Ξ² : Fin β ββ β) :
Matrix (Fin m) (Fin m) (MvPolynomial (Fin n) β) :=
coeffMat (Py P) Ξ²
/-- `π_S(P(y, x)) := β_Ξ² π_S(P_Ξ²(x)) y^Ξ² β β[y]` (p. 17). -/
def rieszP (S : MatSeq (Fin n) (Fin m))
(P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β)) : MvPolynomial (Fin β) β :=
β Ξ² β suppMat (Py P), monomial Ξ² (riesz S (Pbeta P Ξ²))
/-- `π_s(P(y, x)) := β_Ξ² P_Ξ²(x) π_s(y^Ξ²) = β_Ξ² s_Ξ² P_Ξ²(x) β π[x]^m` (pp. 17, 19). -/
def HsP (v : (Fin β ββ β) β β)
(P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β)) :
Matrix (Fin m) (Fin m) (MvPolynomial (Fin n) β) :=
β Ξ² β suppMat (Py P), v Ξ² β’ Pbeta P Ξ²
/-- `deg_y(p)`: the degree of a polynomial in `(y, x)` in the variables `y`. -/
def degY (p : MvPolynomial (Fin β β Fin n) β) : β :=
p.support.sup fun Ξ± => β j, Ξ± (Sum.inl j)
/-- `deg_x(p)`: the degree of a polynomial in `(y, x)` in the variables `x`. -/
def degX (p : MvPolynomial (Fin β β Fin n) β) : β :=
p.support.sup fun Ξ± => β i, Ξ± (Sum.inr i)
/-- `k_y := max {deg(f), deg(ΞΈβ), β¦, deg(ΞΈ_s), deg_y(P_ij)}` (p. 19). -/
def ky (f : MvPolynomial (Fin β) β) (ΞΈ : Fin s β MvPolynomial (Fin β) β)
(P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β)) : β :=
max f.totalDegree (max (Finset.univ.sup fun j => (ΞΈ j).totalDegree)
(Finset.univ.sup fun p : Fin m Γ Fin m => degY (P p.1 p.2)))
/-- `k_x := max {deg_x(P_ij), deg(G)}` (p. 19). -/
def kx (P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β))
(G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)) : β :=
max (Finset.univ.sup fun p : Fin m Γ Fin m => degX (P p.1 p.2)) (degMat G)
/-- The primal value (4.4) (p. 19): `f_k^primal := sup Ο` over `Ο β β`, `S β π^m_k(G)` with
`f(y) β Ο β π_S(P(y, x)) β π¬_{βk_y/2β}(Ξ)`, in `EReal` (`β₯` if infeasible, `β€` if unbounded). -/
def fprimal (f : MvPolynomial (Fin β) β) (ΞΈ : Fin s β MvPolynomial (Fin β) β)
(P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β))
(G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)) (k : β) : EReal :=
sSup {r : EReal | β (Ο : β) (S : MatSeq (Fin n) (Fin m)), S β MM k G β§
f - C Ο - rieszP S P β QTheta ((ky f ΞΈ P + 1) / 2) ΞΈ β§ r = (Ο : EReal)}
/-- Feasibility for the dual problem (4.5) (p. 19): `s β π_{βk_y/2β}(Ξ)`, `π_s(1) = 1` and
`π_s(P(y, x)) β π¬^m_k(G)`. -/
def DualFeasible (f : MvPolynomial (Fin β) β) (ΞΈ : Fin s β MvPolynomial (Fin β) β)
(P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β))
(G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)) (k : β)
(v : (Fin β ββ β) β β) : Prop :=
v β MTheta ((ky f ΞΈ P + 1) / 2) ΞΈ β§ Hs v 1 = 1 β§ HsP v P β QM k G
/-- The dual value (4.5) (p. 19): `f_k^dual := inf π_s(f)` over dual-feasible `s`, in `EReal`
(`β€` if infeasible). -/
def fdual (f : MvPolynomial (Fin β) β) (ΞΈ : Fin s β MvPolynomial (Fin β) β)
(P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β))
(G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)) (k : β) : EReal :=
sInf {r : EReal | β v, DualFeasible f ΞΈ P G k v β§ r = (Hs v f : EReal)}
/-- `s` is a minimizer of (4.5) at relaxation order `k`. -/
def IsDualMinimizer (f : MvPolynomial (Fin β) β) (ΞΈ : Fin s β MvPolynomial (Fin β) β)
(P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β))
(G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)) (k : β)
(v : (Fin β ββ β) β β) : Prop :=
DualFeasible f ΞΈ P G k v β§ β v', DualFeasible f ΞΈ P G k v' β Hs v f β€ Hs v' f
/-- Definition 2.7 (p. 7): a finitely atomic PSD matrix-valued measure
`Ξ¦ = β_{i=1}^r W_i Ξ΄_{x^{(i)}}` on `π³`, with distinct points `x^{(i)} β π³` and `W_i βͺ° 0`. -/
structure AtomicMeasure (m : β) (G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)) where
/-- number of atoms -/
r : β
/-- the atoms `x^{(i)}` -/
pts : Fin r β Fin n β β
/-- the weights `W_i` -/
W : Fin r β Matrix (Fin m) (Fin m) β
inj : Function.Injective pts
mem : β i, pts i β Xset G
psd : β i, (W i).PosSemidef
/-- The moments `S_Ξ± = β« x^Ξ± dΞ¦(x) = β_i (x^{(i)})^Ξ± W_i` of a finitely atomic measure ((2.5), p. 8). -/
def AtomicMeasure.moments {G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)}
(ΞΌ : AtomicMeasure m G) : MatSeq (Fin n) (Fin m) :=
fun Ξ± => β i, eval (ΞΌ.pts i) (monomial Ξ± (1 : β)) β’ ΞΌ.W i
/-- `π_Ξ¦(P(y, x))` evaluated at `y`: `β_i tr(P(y, x^{(i)}) W_i)` ((2.2), p. 7; p. 20). -/
def AtomicMeasure.rieszP {G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)}
(ΞΌ : AtomicMeasure m G) (P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β))
(y : Fin β β β) : β :=
β i, Matrix.trace (evalP P y (ΞΌ.pts i) * ΞΌ.W i)
/-- Assumption 1 (p. 2): (i) `f, βΞΈβ, β¦, βΞΈ_s` are SOS-convex; (ii) `βP(y, x)` is PSD-SOS-convex
in `y` for all `x β π³`; (iii) `π³` is compact. -/
def Assumption1 (f : MvPolynomial (Fin β) β) (ΞΈ : Fin s β MvPolynomial (Fin β) β)
(P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β))
(G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)) : Prop :=
IsSOSConvex f β§ (β j, IsSOSConvex (-ΞΈ j)) β§
(β x β Xset G, IsPSDSOSConvex (-(Patx P x))) β§ IsCompact (Xset G)
/-- Assumption 2 (p. 6): there are `r β β` and an SOS matrix `Ξ£(x) β π[x]^q` such that
`rΒ² β βxβΒ² β β¨Ξ£(x), G(x)β©` is SOS. -/
def Assumption2 (G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)) : Prop :=
β (r : β) (Sig : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)), IsSOSMat Sig β§
IsSOSPoly (C (r ^ 2) - β i, X i ^ 2 - innerMat Sig G)
/-- Assumption 3 (p. 17, Slater): some `Θ³ β π΄` has `ΞΈ_i(Θ³) > 0` for all `i` and
`P(Θ³, x) β» 0` for all `x β π³`. -/
def Assumption3 (ΞΈ : Fin s β MvPolynomial (Fin β) β)
(P : Matrix (Fin m) (Fin m) (MvPolynomial (Fin β β Fin n) β))
(G : Matrix (Fin q) (Fin q) (MvPolynomial (Fin n) β)) : Prop :=
β ybar β Yset ΞΈ, (β j, 0 < eval ybar (ΞΈ j)) β§ β x β Xset G, (evalP P ybar x).PosDef
end Problem
end
end RobustPMI.Hierarchy