Documentation

LeanPool.BollobasNikiforov.Kernel.N

Nonnegativity of N #

The identity N = det(I + Q W) of docs/sol.tex ยง3, the factorization of W through two totally nonnegative three-column matrices, and 1 โ‰ค N x for x โ‰ฅ 0.

KR18: auxiliary matrix D(x) #

def BollobasNikiforov.fromThreeCols (c0 c1 c2 : Fin 3 โ†’ โ„) :

The matrix with columns cโ‚€, cโ‚, cโ‚‚.

Equations
Instances For
    theorem BollobasNikiforov.fromThreeCols_apply_zero (c0 c1 c2 : Fin 3 โ†’ โ„) (i : Fin 3) :
    fromThreeCols c0 c1 c2 i 0 = c0 i
    theorem BollobasNikiforov.fromThreeCols_apply_one (c0 c1 c2 : Fin 3 โ†’ โ„) (i : Fin 3) :
    fromThreeCols c0 c1 c2 i 1 = c1 i
    theorem BollobasNikiforov.fromThreeCols_apply_two (c0 c1 c2 : Fin 3 โ†’ โ„) (i : Fin 3) :
    fromThreeCols c0 c1 c2 i 2 = c2 i
    theorem BollobasNikiforov.fromThreeCols_add (u0 u1 u2 v0 v1 v2 : Fin 3 โ†’ โ„) :
    fromThreeCols (u0 + v0) (u1 + v1) (u2 + v2) = fromThreeCols u0 u1 u2 + fromThreeCols v0 v1 v2
    theorem BollobasNikiforov.fromThreeCols_smul (c : โ„) (u0 u1 u2 : Fin 3 โ†’ โ„) :
    theorem BollobasNikiforov.fromThreeCols_sum {ฮน : Type u_1} (s : Finset ฮน) (f0 f1 f2 : ฮน โ†’ Fin 3 โ†’ โ„) :
    fromThreeCols (โˆ‘ i โˆˆ s, f0 i) (โˆ‘ i โˆˆ s, f1 i) (โˆ‘ i โˆˆ s, f2 i) = โˆ‘ i โˆˆ s, fromThreeCols (f0 i) (f1 i) (f2 i)
    noncomputable def BollobasNikiforov.D (x : โ„) :

    D(x) has columns eโ‚€, eโ‚, b(x).

    Equations
    Instances For
      noncomputable def BollobasNikiforov.Dinv (x : โ„) :

      Explicit inverse of the upper-triangular unipotent matrix D x.

      Equations
      Instances For

        Feature columns cแตข(x) #

        noncomputable def BollobasNikiforov.cVec (ti x : โ„) :
        Fin 3 โ†’ โ„

        cแตข(x) = (1, -โˆš2 tแตข, aแตข(x))แต€.

        Equations
        Instances For
          @[simp]
          theorem BollobasNikiforov.cVec_zero (ti x : โ„) :
          cVec ti x 0 = 1
          @[simp]
          theorem BollobasNikiforov.cVec_one (ti x : โ„) :
          cVec ti x 1 = -โˆš2 * ti
          @[simp]
          theorem BollobasNikiforov.cVec_two (ti x : โ„) :
          cVec ti x 2 = truncSq ti x

          KR19: Cramer for N #

          theorem BollobasNikiforov.N_eq_det_fromThreeCols {k : โ„•} (t q : Fin k โ†’ โ„) (hq : โˆ€ (i : Fin k), 0 < q i) (x : โ„) :
          N t q x = (fromThreeCols ((๐’œ t q).mulVec (Pi.single 0 1)) ((๐’œ t q).mulVec (Pi.single 1 1)) (bhat t q x)).det
          theorem BollobasNikiforov.๐’œ_mulVec_single_zero {k : โ„•} (t q : Fin k โ†’ โ„) :
          (๐’œ t q).mulVec (Pi.single 0 1) = Pi.single 0 1 + โˆ‘ i : Fin k, q i โ€ข v (t i)
          theorem BollobasNikiforov.๐’œ_mulVec_single_one {k : โ„•} (t q : Fin k โ†’ โ„) :
          (๐’œ t q).mulVec (Pi.single 1 1) = Pi.single 1 1 + โˆ‘ i : Fin k, (q i * (-โˆš2 * t i)) โ€ข v (t i)
          theorem BollobasNikiforov.fromThreeCols_eq_D_add_sum {k : โ„•} (t q : Fin k โ†’ โ„) (x : โ„) :
          fromThreeCols ((๐’œ t q).mulVec (Pi.single 0 1)) ((๐’œ t q).mulVec (Pi.single 1 1)) (bhat t q x) = D x + โˆ‘ i : Fin k, q i โ€ข Matrix.vecMulVec (v (t i)) (cVec (t i) x)

          KR20: Sylvester N = det(I + Q W) #

          noncomputable def BollobasNikiforov.vCols {k : โ„•} (t : Fin k โ†’ โ„) :

          Columns are the feature vectors v(tโฑผ).

          Equations
          Instances For
            noncomputable def BollobasNikiforov.qcRows {k : โ„•} (t q : Fin k โ†’ โ„) (x : โ„) :

            Rows are qแตข cแตข(x)แต€.

            Equations
            Instances For
              noncomputable def BollobasNikiforov.W {k : โ„•} (t : Fin k โ†’ โ„) (x : โ„) :

              W(x)แตขโฑผ = cแตข(x)แต€ D(x)โปยน v(tโฑผ).

              Equations
              Instances For
                theorem BollobasNikiforov.vCols_mul_qcRows {k : โ„•} (t q : Fin k โ†’ โ„) (x : โ„) :
                vCols t * qcRows t q x = โˆ‘ i : Fin k, q i โ€ข Matrix.vecMulVec (v (t i)) (cVec (t i) x)
                theorem BollobasNikiforov.N_eq_det_one_add {k : โ„•} (t q : Fin k โ†’ โ„) (hq : โˆ€ (i : Fin k), 0 < q i) (x : โ„) :
                N t q x = (1 + Matrix.diagonal q * W t x).det

                KR21: formula for W #

                Paper f_x(t) = tยฒ - (t-x)โ‚Šยฒ.

                Equations
                Instances For
                  theorem BollobasNikiforov.fKernel_eq_sq {x t : โ„} (htx : t โ‰ค x) :
                  fKernel x t = t ^ 2
                  theorem BollobasNikiforov.fKernel_eq_linear {x t : โ„} (hxt : x โ‰ค t) :
                  fKernel x t = 2 * x * t - x ^ 2
                  theorem BollobasNikiforov.fKernel_eq_trunc (ti x : โ„) :
                  fKernel x ti = 2 * ti * x - x ^ 2 + truncSq ti x
                  theorem BollobasNikiforov.Dinv_mulVec_v (x tj : โ„) :
                  (Dinv x).mulVec (v tj) = ![1 - x ^ 2 * tj ^ 2, -โˆš2 * tj - โˆš2 * x * tj ^ 2, tj ^ 2]
                  theorem BollobasNikiforov.W_apply {k : โ„•} (t : Fin k โ†’ โ„) (x : โ„) (i j : Fin k) :
                  W t x i j = 1 + 2 * t i * t j + fKernel x (t i) * t j ^ 2

                  KR22: convexity of fKernel x #

                  KR23: two 3-column TN matrices #

                  theorem BollobasNikiforov.IsTotallyNonneg.mul_diagonal {ฮน : Type u_1} {ฮบ : Type u_2} [LinearOrder ฮน] [LinearOrder ฮบ] [Fintype ฮบ] [DecidableEq ฮบ] {A : Matrix ฮน ฮบ โ„} (hA : IsTotallyNonneg A) {d : ฮบ โ†’ โ„} (hd : โˆ€ (j : ฮบ), 0 โ‰ค d j) :
                  def BollobasNikiforov.fKernelRows {k : โ„•} (t : Fin k โ†’ โ„) (x : โ„) :

                  Rows (1, tแตข, fโ‚“(tแตข)).

                  Equations
                  Instances For
                    def BollobasNikiforov.sqRows {k : โ„•} (t : Fin k โ†’ โ„) :

                    Rows (1, 2 tแตข, tแตขยฒ).

                    Equations
                    Instances For
                      theorem BollobasNikiforov.isTotallyNonneg_fKernelRows {k : โ„•} (t : Fin k โ†’ โ„) (x : โ„) (hx : 0 โ‰ค x) (htmono : Monotone t) (htpos : โˆ€ (i : Fin k), 0 < t i) :
                      theorem BollobasNikiforov.isTotallyNonneg_sqRows {k : โ„•} (t : Fin k โ†’ โ„) (htmono : Monotone t) (htpos : โˆ€ (i : Fin k), 0 < t i) :

                      KR24: W is TN #

                      theorem BollobasNikiforov.W_isTotallyNonneg {k : โ„•} (t : Fin k โ†’ โ„) (x : โ„) (hx : 0 โ‰ค x) (htmono : Monotone t) (htpos : โˆ€ (i : Fin k), 0 < t i) :

                      KR25: 1 โ‰ค N #

                      theorem BollobasNikiforov.det_one_add_diagonal_mul {n : Type u_1} [Fintype n] [DecidableEq n] (d : n โ†’ โ„) (M : Matrix n n โ„) :
                      (1 + Matrix.diagonal d * M).det = โˆ‘ s : Finset n, (โˆ i โˆˆ s, d i) * (M.submatrix Subtype.val Subtype.val).det
                      theorem BollobasNikiforov.N_ge_one {k : โ„•} (t q : Fin k โ†’ โ„) (x : โ„) (hq : โˆ€ (i : Fin k), 0 < q i) (hx : 0 โ‰ค x) (htmono : Monotone t) (htpos : โˆ€ (i : Fin k), 0 < t i) :
                      1 โ‰ค N t q x