Documentation

LeanPool.BollobasNikiforov.M.GammaZero

The γ = 0 perturbation #

If configγ s t ρ x = 0, enlarge the configuration by a new vector y* = √ε • (x*, 1) with x* strictly to the right of every t i and ε > 0. Every new H i is then positive, hence the enlarged γ is positive (SC19). The principal submatrix of M on the original indices differs from the original M only by diagonal O(ε) Laplacian terms coming from edges to y*, and therefore converges as ε ↓ 0 (SC20). Closedness of the CP cone upgrades SC18 on the enlargements to CP of the original M, including the case p = 0 (SC21).

SC19 — vanishing H i when γ = 0 #

theorem BollobasNikiforov.configH_eq_zero_of_configγ_eq_zero {k p : } {s t : Fin k} {ρ x : Fin p} (hs : ∀ (i : Fin k), 0 < s i) ( : ∀ (j : Fin p), 0 < ρ j) ( : configγ s t ρ x = 0) (i : Fin k) :
configH t ρ x i = 0

Original γ = 0 forces each summand s i * H i / d i to vanish.

Canonical abscissa x* #

noncomputable def BollobasNikiforov.configXstar {k : } (t : Fin k) :

If k = 0, take x* = 0; if k ≥ 1, take x* = (max t i) + 1.

Equations
Instances For
    theorem BollobasNikiforov.configXstar_nonneg {k : } {t : Fin k} (ht : ∀ (i : Fin k), 0 < t i) :
    theorem BollobasNikiforov.lt_configXstar {k : } (t : Fin k) (i : Fin k) :

    Enlarged weights and abscissae #

    def BollobasNikiforov.configExtendρ {p : } (ρ : Fin p) (ε : ) :
    Fin (p + 1)

    Extend ρ by a last coordinate ε.

    Equations
    Instances For
      def BollobasNikiforov.configExtendx {p : } (x : Fin p) (xstar : ) :
      Fin (p + 1)

      Extend x by a last coordinate x*.

      Equations
      Instances For
        @[simp]
        theorem BollobasNikiforov.configExtendρ_castSucc {p : } (ρ : Fin p) (ε : ) (j : Fin p) :
        @[simp]
        theorem BollobasNikiforov.configExtendρ_last {p : } (ρ : Fin p) (ε : ) :
        @[simp]
        theorem BollobasNikiforov.configExtendx_castSucc {p : } (x : Fin p) (xstar : ) (j : Fin p) :
        configExtendx x xstar j.castSucc = x j
        @[simp]
        theorem BollobasNikiforov.configExtendx_last {p : } (x : Fin p) (xstar : ) :
        configExtendx x xstar (Fin.last p) = xstar
        theorem BollobasNikiforov.configExtendρ_pos {p : } {ρ : Fin p} ( : ∀ (j : Fin p), 0 < ρ j) {ε : } ( : 0 < ε) (j : Fin (p + 1)) :
        0 < configExtendρ ρ ε j
        theorem BollobasNikiforov.configExtendx_nonneg {p : } {x : Fin p} (hx : ∀ (j : Fin p), 0 x j) {xstar : } (hxstar : 0 xstar) (j : Fin (p + 1)) :
        0 configExtendx x xstar j

        Embedding ConfigIdx k p ↪ ConfigIdx k (p + 1) #

        def BollobasNikiforov.configIdxEmbed {k p : } (α : ConfigIdx k p) :
        ConfigIdx k (p + 1)

        Keep z₀, each z i, and the original y j (the latter via Fin.castSucc).

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem BollobasNikiforov.configIdxEmbed_val {k p : } (α : ConfigIdx k p) :
          (configIdxEmbed α) = α

          Original vectors are unchanged #

          theorem BollobasNikiforov.yVec_extend_castSucc {p : } (ρ x : Fin p) (ε xstar : ) (j : Fin p) :
          yVec (configExtendρ ρ ε) (configExtendx x xstar) j.castSucc = yVec ρ x j
          theorem BollobasNikiforov.configVec_extend_embed {k p : } (s t : Fin k) (ρ x : Fin p) (ε xstar : ) (α : ConfigIdx k p) :
          configVec s t (configExtendρ ρ ε) (configExtendx x xstar) (configIdxEmbed α) = configVec s t ρ x α
          theorem BollobasNikiforov.Xconfig_extend_submatrix {k p : } (s t : Fin k) (ρ x : Fin p) (ε xstar : ) :

          The Gram matrix among original indices is independent of ε.

          theorem BollobasNikiforov.Xconfig_embed_ystar {k p : } (s t : Fin k) (ρ x : Fin p) (ε xstar : ) (α : ConfigIdx k p) :
          Xconfig s t (configExtendρ ρ ε) (configExtendx x xstar) (configIdxEmbed α) (idxY (Fin.last p)) = ε * (configVec s t ρ x α 0 * xstar + configVec s t ρ x α 1)

          SC19 — positivity of the enlarged H i and γ #

          theorem BollobasNikiforov.configH_extend {k p : } (t : Fin k) (ρ x : Fin p) (ε xstar : ) (i : Fin k) :
          configH t (configExtendρ ρ ε) (configExtendx x xstar) i = configH t ρ x i + ε * max (xstar - t i) 0 ^ 2
          theorem BollobasNikiforov.configH_extend_pos {k p : } (t : Fin k) {ρ : Fin p} ( : ∀ (j : Fin p), 0 < ρ j) (x : Fin p) {ε : } ( : 0 < ε) {xstar : } (hxstar : ∀ (i : Fin k), t i < xstar) (i : Fin k) :
          0 < configH t (configExtendρ ρ ε) (configExtendx x xstar) i

          Each new H i is strictly positive: (x* - t i)_+ > 0 and ε > 0.

          theorem BollobasNikiforov.configγ_extend_pos {k p : } [NeZero k] (s t : Fin k) {ρ : Fin p} ( : ∀ (j : Fin p), 0 < ρ j) (x : Fin p) (hs : ∀ (i : Fin k), 0 < s i) {ε : } ( : 0 < ε) {xstar : } (hxstar : ∀ (i : Fin k), t i < xstar) :
          0 < configγ s t (configExtendρ ρ ε) (configExtendx x xstar)

          The enlarged configuration has γ > 0 (needs at least one z-index).

          theorem BollobasNikiforov.configH_extend_configXstar_pos {k p : } (t : Fin k) {ρ : Fin p} ( : ∀ (j : Fin p), 0 < ρ j) (x : Fin p) {ε : } ( : 0 < ε) (i : Fin k) :
          theorem BollobasNikiforov.configγ_extend_configXstar_pos {k p : } [NeZero k] (s t : Fin k) {ρ : Fin p} ( : ∀ (j : Fin p), 0 < ρ j) (x : Fin p) (hs : ∀ (i : Fin k), 0 < s i) {ε : } ( : 0 < ε) :

          SC20 — principal submatrices of M #

          theorem BollobasNikiforov.sum_configIdx_extend {k p : } (f : ConfigIdx k (p + 1)) :
          α : ConfigIdx k (p + 1), f α = α : ConfigIdx k p, f (configIdxEmbed α) + f (idxY (Fin.last p))
          theorem BollobasNikiforov.MX_extend_submatrix_of_ne {k p : } (s t : Fin k) (ρ x : Fin p) (ε xstar : ) {α β : ConfigIdx k p} (hne : α β) :
          M (Xconfig s t (configExtendρ ρ ε) (configExtendx x xstar)) (configIdxEmbed α) (configIdxEmbed β) = M (Xconfig s t ρ x) α β

          Off-diagonals of M among original indices ignore the new vertex.

          theorem BollobasNikiforov.MX_extend_submatrix_diag_add {k p : } (s t : Fin k) (ρ x : Fin p) (ε xstar : ) (α : ConfigIdx k p) :
          M (Xconfig s t (configExtendρ ρ ε) (configExtendx x xstar)) (configIdxEmbed α) (configIdxEmbed α) = M (Xconfig s t ρ x) α α + if Xconfig s t (configExtendρ ρ ε) (configExtendx x xstar) (configIdxEmbed α) (idxY (Fin.last p)) < 0 then Xconfig s t (configExtendρ ρ ε) (configExtendx x xstar) (configIdxEmbed α) (idxY (Fin.last p)) ^ 2 else 0

          Diagonals pick up one extra Laplacian weight from the edge to y*.

          theorem BollobasNikiforov.MX_extend_submatrix_diag {k p : } (s t : Fin k) (ρ x : Fin p) {ε : } ( : 0 < ε) (xstar : ) (α : ConfigIdx k p) :
          M (Xconfig s t (configExtendρ ρ ε) (configExtendx x xstar)) (configIdxEmbed α) (configIdxEmbed α) = M (Xconfig s t ρ x) α α + if configVec s t ρ x α 0 * xstar + configVec s t ρ x α 1 < 0 then ε * (configVec s t ρ x α 0 * xstar + configVec s t ρ x α 1) ^ 2 else 0

          For ε > 0 the extra diagonal term is ε times a constant (hence O(ε)).

          theorem BollobasNikiforov.MX_extend_submatrix {k p : } (s t : Fin k) (ρ x : Fin p) {ε : } ( : 0 < ε) (xstar : ) :
          (M (Xconfig s t (configExtendρ ρ ε) (configExtendx x xstar))).submatrix configIdxEmbed configIdxEmbed = M (Xconfig s t ρ x) + Matrix.diagonal fun (α : ConfigIdx k p) => if configVec s t ρ x α 0 * xstar + configVec s t ρ x α 1 < 0 then ε * (configVec s t ρ x α 0 * xstar + configVec s t ρ x α 1) ^ 2 else 0

          M of the enlargement, restricted to original indices, is the original M plus a diagonal of order ε. (M of the large matrix then submatrix is not M of the Gram submatrix, because Laplacian edges to y* affect diagonals; continuous_M would only recover M of that submatrix.)

          theorem BollobasNikiforov.tendsto_MX_extend_submatrix {k p : } (s t : Fin k) (ρ x : Fin p) (xstar : ) :

          As ε ↓ 0, the principal submatrix of M(X_ε) converges to M(X).

          SC21 — γ = 0 and p = 0 by closedness #

          theorem BollobasNikiforov.isCompletelyPositive_MX_extend {k p : } [NeZero k] (s t : Fin k) (ρ x : Fin p) (hs : ∀ (i : Fin k), 0 < s i) (ht : ∀ (i : Fin k), 0 < t i) (hmono : Monotone t) ( : ∀ (j : Fin p), 0 < ρ j) (hx : ∀ (j : Fin p), 0 x j) {ε : } ( : 0 < ε) :
          theorem BollobasNikiforov.isCompletelyPositive_MX_extend_submatrix {k p : } [NeZero k] (s t : Fin k) (ρ x : Fin p) (hs : ∀ (i : Fin k), 0 < s i) (ht : ∀ (i : Fin k), 0 < t i) (hmono : Monotone t) ( : ∀ (j : Fin p), 0 < ρ j) (hx : ∀ (j : Fin p), 0 x j) {ε : } ( : 0 < ε) :
          theorem BollobasNikiforov.isCompletelyPositive_M_Xconfig_of_configγ_eq_zero {k p : } [NeZero k] (s t : Fin k) (ρ x : Fin p) (hs : ∀ (i : Fin k), 0 < s i) (ht : ∀ (i : Fin k), 0 < t i) (hmono : Monotone t) ( : ∀ (j : Fin p), 0 < ρ j) (hx : ∀ (j : Fin p), 0 x j) (_hγ : configγ s t ρ x = 0) :

          If γ = 0, the original M is completely positive: enlarge, apply SC18, restrict to original indices, and pass to the limit by closedness of CP.

          theorem BollobasNikiforov.configH_eq_zero_of_p_eq_zero {k : } (t : Fin k) (ρ x : Fin 0) (i : Fin k) :
          configH t ρ x i = 0
          theorem BollobasNikiforov.configγ_eq_zero_of_p_eq_zero {k : } (s t : Fin k) (ρ x : Fin 0) :
          configγ s t ρ x = 0
          theorem BollobasNikiforov.isCompletelyPositive_M_Xconfig_of_p_eq_zero {k : } [NeZero k] (s t : Fin k) (ρ x : Fin 0) (hs : ∀ (i : Fin k), 0 < s i) (ht : ∀ (i : Fin k), 0 < t i) (hmono : Monotone t) :

          The case p = 0 has H i = 0 for every i, hence γ = 0.