Documentation

Atlas.CombinatorialOptimization.code.Ellipsoid.VolumeContraction

noncomputable def EllipsoidMethod.Ellipsoid {n : } (D : Matrix (Fin n) (Fin n) ) (z : Fin n) :
Set (Fin n)
Instances For
    noncomputable def EllipsoidMethod.updateMatrix {n : } (D : Matrix (Fin n) (Fin n) ) (a : Fin n) :
    Matrix (Fin n) (Fin n)
    Instances For
      theorem EllipsoidMethod.quadForm_pos {n : } (D : Matrix (Fin n) (Fin n) ) (hD : D.PosDef) (a : Fin n) (ha : a 0) :
      0 < a ⬝ᵥ D.mulVec a
      theorem EllipsoidMethod.det_sub_smul_vecMulVec_of_isUnit {n : } (A : Matrix (Fin n) (Fin n) ) (hA : IsUnit A.det) (t : ) (u v : Fin n) :
      (A - t Matrix.vecMulVec u v).det = A.det * (1 - t * v ⬝ᵥ A⁻¹.mulVec u)
      theorem EllipsoidMethod.updateMatrix_det_ratio {n : } (hn : 1 < n) (D : Matrix (Fin n) (Fin n) ) (hD : D.PosDef) (a : Fin n) (ha : a 0) :
      (updateMatrix D a).det / D.det = (n ^ 2 / (n ^ 2 - 1)) ^ n * ((n - 1) / (n + 1))
      theorem EllipsoidMethod.volume_ratio_numerical_bound {n : } (hn : 1 < n) :
      (n ^ 2 / (n ^ 2 - 1)) ^ n * ((n - 1) / (n + 1)) Real.exp (-1 / (n + 1))
      theorem EllipsoidMethod.ellipsoid_volume_ratio_le_exp {n : } (hn : 1 < n) (D : Matrix (Fin n) (Fin n) ) (hD : D.PosDef) (a : Fin n) (ha : a 0) :
      ((updateMatrix D a).det / D.det) ^ (1 / 2) Real.exp (-1 / (2 * (n + 1)))