Documentation

Atlas.ArithmeticGeometry.code.QuadraticForms

@[implicit_reducible]
noncomputable instance instInvertibleTwoOfNeZero (k : Type u_1) [Field k] [NeZero 2] :
theorem QuadraticFormEquiv.quadForm_eq_associated_self {k : Type u_1} [Field k] [NeZero 2] {V : Type u_2} [AddCommGroup V] [Module k V] (Q : QuadraticForm k V) (x : V) :
theorem QuadraticFormEquiv.associated_eq_half_polar {k : Type u_1} [Field k] [NeZero 2] {V : Type u_2} [AddCommGroup V] [Module k V] (Q : QuadraticForm k V) (x y : V) :
((QuadraticMap.associated Q) x) y = 2 * (Q (x + y) - Q x - Q y)
theorem QuadraticFormEquiv.quadForm_add_expansion {k : Type u_1} [Field k] [NeZero 2] {V : Type u_2} [AddCommGroup V] [Module k V] (Q : QuadraticForm k V) (x y : V) :
Q (x + y) = Q x + Q y + 2 * ((QuadraticMap.associated Q) x) y
noncomputable def QuadraticFormEquiv.matrixBilinEquiv {k : Type u_1} [Field k] {n : Type u_2} [Fintype n] [DecidableEq n] :
Matrix n n k ≃ₗ[k] LinearMap.BilinMap k (nk) k
Instances For
    noncomputable def QuadraticFormEquiv.bilinFormToMatrix {k : Type u_1} [Field k] {n : Type u_2} [Fintype n] [DecidableEq n] :
    LinearMap.BilinMap k (nk) k ≃ₗ[k] Matrix n n k
    Instances For
      theorem QuadraticFormEquiv.matrix_to_bilinForm_apply {k : Type u_1} [Field k] {n : Type u_2} [Fintype n] [DecidableEq n] (A : Matrix n n k) (x y : nk) :
      noncomputable def QuadraticFormEquiv.matrixToQuadraticForm {k : Type u_1} [Field k] {n : Type u_2} [Fintype n] [DecidableEq n] (A : Matrix n n k) :
      QuadraticForm k (nk)
      Instances For
        noncomputable def QuadraticFormEquiv.quadraticFormToMatrix {k : Type u_1} [Field k] [NeZero 2] {n : Type u_2} [Fintype n] [DecidableEq n] (Q : QuadraticForm k (nk)) :
        Matrix n n k
        Instances For
          theorem QuadraticFormEquiv.equivalent_iff_exists_linearEquiv {k : Type u_1} [CommSemiring k] {V : Type u_2} [AddCommMonoid V] [Module k V] (f g : QuadraticMap k V k) :
          f.Equivalent g ∃ (T : V ≃ₗ[k] V), ∀ (v : V), g (T v) = f v
          theorem QuadraticFormEquiv.isometryEquiv_map_app {k : Type u_1} [CommSemiring k] {V : Type u_2} [AddCommMonoid V] [Module k V] (f g : QuadraticMap k V k) (e : f.IsometryEquiv g) (v : V) :
          g (e v) = f v
          theorem QuadraticFormEquiv.equivalent_symm {k : Type u_1} [CommSemiring k] {V : Type u_2} [AddCommMonoid V] [Module k V] {f g : QuadraticMap k V k} (h : f.Equivalent g) :
          theorem QuadraticFormEquiv.equivalent_trans {k : Type u_1} [CommSemiring k] {V : Type u_2} [AddCommMonoid V] [Module k V] {f g h : QuadraticMap k V k} (hfg : f.Equivalent g) (hgh : g.Equivalent h) :
          theorem QuadraticFormEquiv.weightedSumSquares_is_diagonal {k : Type u_1} [Field k] {n : } (w v : Fin nk) :
          (QuadraticMap.weightedSumSquares k w) v = i : Fin n, w i * (v i * v i)
          def QuadraticMap.Represents {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (Q : QuadraticForm R M) (a : R) :
          Instances For
            theorem QuadraticMap.Represents.of_isometryEquiv {R : Type u_1} {M₁ : Type u_2} {M₂ : Type u_3} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [Module R M₁] [Module R M₂] {Q₁ : QuadraticForm R M₁} {Q₂ : QuadraticForm R M₂} (e : IsometryEquiv Q₁ Q₂) {a : R} (h : Represents Q₁ a) :
            Represents Q₂ a
            theorem QuadraticMap.represents_iff_of_isometryEquiv {R : Type u_1} {M₁ : Type u_2} {M₂ : Type u_3} [CommSemiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [Module R M₁] [Module R M₂] {Q₁ : QuadraticForm R M₁} {Q₂ : QuadraticForm R M₂} (e : IsometryEquiv Q₁ Q₂) {a : R} :
            Represents Q₁ a Represents Q₂ a
            theorem QuadraticMap.eval_smul_isotropic_add {k : Type u_1} [Field k] {V : Type u_2} [AddCommGroup V] [Module k V] (Q : QuadraticForm k V) (v w : V) (x : k) (hv : Q v = 0) :
            Q (x v + w) = Q w + x * polar (⇑Q) v w
            theorem QuadraticMap.nondegenerate_represents_zero_represents_all {k : Type u_1} [Field k] {V : Type u_2} [AddCommGroup V] [Module k V] (Q : QuadraticForm k V) (hnd : Nondegenerate) (hiso : Represents Q 0) (c : k) :
            theorem QuadraticFormDef93.symmetric_dotProduct_zero_implies_mulVec_zero {k : Type u_1} [Field k] {n : Type u_2} [Fintype n] (M : Matrix n n k) (hM : M.IsSymm) (x : nk) (h : ∀ (y : nk), x ⬝ᵥ M.mulVec y = 0) :
            M.mulVec x = 0
            noncomputable def QuadraticFormDef93.quadraticFormRank {k : Type u_1} [Field k] [NeZero 2] {n : Type u_2} [Fintype n] [DecidableEq n] (Q : QuadraticForm k (nk)) :
            Instances For
              Instances For
                theorem QuadraticFormDef93.matrix_eq_associated_apply {k : Type u_1} [Field k] [NeZero 2] {n : Type u_2} [Fintype n] [DecidableEq n] (Q : QuadraticForm k (nk)) (x y : nk) :
                theorem QuadraticFormDef93.nondegenerate_associated_ne_zero {k : Type u_1} [Field k] [NeZero 2] {n : Type u_2} [Fintype n] [DecidableEq n] [Nonempty n] (Q : QuadraticForm k (nk)) (hQ : quadraticFormIsNondegenerate Q) (x : nk) (hx : x 0) :
                ∃ (y : nk), ((QuadraticMap.associated Q) x) y 0
                noncomputable def QuadraticFormDef94.sqMonoidHom (k : Type u_1) [Field k] :
                Instances For
                  noncomputable def QuadraticFormDef94.squaresSubgroup (k : Type u_1) [Field k] :
                  Instances For
                    Instances For
                      noncomputable def QuadraticFormDef94.toSquareClass (k : Type u_1) [Field k] :
                      Instances For
                        noncomputable def QuadraticFormDef94.discrUnit (k : Type u_1) [Field k] [NeZero 2] {n : Type u_2} [Fintype n] [DecidableEq n] (Q : QuadraticMap k (nk) k) (hQ : Q.discr 0) :
                        Instances For
                          noncomputable def QuadraticFormDef94.discriminant (k : Type u_1) [Field k] [NeZero 2] {n : Type u_2} [Fintype n] [DecidableEq n] (Q : QuadraticMap k (nk) k) (hQ : Q.discr 0) :
                          Instances For
                            theorem QuadraticFormDef94.linearEquiv_toMatrix'_det_ne_zero {k' : Type u_3} [Field k'] {m : Type u_4} [Fintype m] [DecidableEq m] (T : (mk') ≃ₗ[k'] mk') :
                            theorem QuadraticFormDef94.discr_isometryEquiv_eq (k : Type u_1) [Field k] [NeZero 2] {n : Type u_2} [Fintype n] [DecidableEq n] {Q₁ Q₂ : QuadraticMap k (nk) k} (e : Q₁.IsometryEquiv Q₂) :
                            theorem QuadraticFormDef94.discriminant_preserved_by_isometryEquiv (k : Type u_1) [Field k] [NeZero 2] {n : Type u_2} [Fintype n] [DecidableEq n] {Q₁ Q₂ : QuadraticMap k (nk) k} (e : Q₁.IsometryEquiv Q₂) (hQ₁ : Q₁.discr 0) (hQ₂ : Q₂.discr 0) :
                            discriminant k Q₁ hQ₁ = discriminant k Q₂ hQ₂