Documentation

TCSlib.test

def apply_polynomial_to_vector {F : Type u_1} [Field F] {n : } (p : Polynomial F) (v : Vector F n) :
Vector F n
Equations
Instances For
    def vector_add {F : Type u_1} [Field F] {n : } (u : Vector F n) (v : Vector F n) :
    Vector F n
    Equations
    Instances For
      def vector_sub {F : Type u_1} [Field F] {n : } (u : Vector F n) (v : Vector F n) :
      Vector F n
      Equations
      Instances For
        def weight {F : Type u_1} [Field F] [DecidableEq F] {n : } (v : Vector F n) :
        Equations
        Instances For
          def weight₂ {F : Type u_1} [Field F] [DecidableEq F] {n : } {α : Vector F n} (f : Polynomial F) :
          Equations
          Instances For
            def hamming_dist {F : Type u_1} [Field F] [DecidableEq F] {n : } (v1 : Vector F n) (v2 : Vector F n) :
            Equations
            Instances For
              theorem existence {F : Type u_1} [Field F] [Fintype F] [DecidableEq F] {n : } {α : Vector F n} {w : Vector F n} (k : ) (e : ) {h_n_ge_k : n k} {h_q_ge_n : Fintype.card F n} {h_k_ge_one : 1 k} (h_exist_f : ∃ (f : Polynomial F), Polynomial.degree f (k - 1) hamming_dist (apply_polynomial_to_vector f α) w e) :
              ∃ (E : Polynomial F) (Q : Polynomial F), Polynomial.Monic E Polynomial.degree Q (e + k - 1) ∀ (i : Fin n), Vector.get w i * Polynomial.eval (Vector.get α i) E = Polynomial.eval (Vector.get α i) Q