Documentation

Mathlib.LinearAlgebra.QuadraticForm.Dual

Quadratic form structures related to Module.Dual #

Main definitions #

@[simp]
theorem BilinForm.dualProd_apply (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] (x : Module.Dual R M × M) (y : Module.Dual R M × M) :
BilinForm.bilin (BilinForm.dualProd R M) x y = y.fst x.snd + x.fst y.snd
def BilinForm.dualProd (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] :

The symmetric bilinear form on Module.Dual R M × M defined as B (f, x) (g, y) = f y + g x.

Instances For
    @[simp]
    theorem QuadraticForm.dualProd_apply (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] (p : Module.Dual R M × M) :
    ↑(QuadraticForm.dualProd R M) p = p.fst p.snd

    The quadratic form on Module.Dual R M × M defined as Q (f, x) = f x.

    Instances For
      @[simp]
      theorem QuadraticForm.dualProdIsometry_toFun {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] (f : M ≃ₗ[R] N) :

      Any module isomorphism induces a quadratic isomorphism between the corresponding dual_prod.

      Instances For
        @[simp]
        theorem QuadraticForm.dualProdProdIsometry_toFun {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] :
        ∀ (a : Module.Dual R (M × N) × M × N), QuadraticForm.dualProdProdIsometry a = ((LinearMap.comp a.fst (LinearMap.inl R M N), a.snd.fst), LinearMap.comp a.fst (LinearMap.inr R M N), a.snd.snd)
        @[simp]
        theorem QuadraticForm.dualProdProdIsometry_invFun {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] :
        ∀ (a : (Module.Dual R M × M) × Module.Dual R N × N), LinearEquiv.invFun QuadraticForm.dualProdProdIsometry.toLinearEquiv a = ↑(LinearEquiv.symm (LinearEquiv.prod (LinearEquiv.symm (Module.dualProdDualEquivDual R M N)) (LinearEquiv.refl R (M × N)))) (↑(LinearEquiv.prodProdProdComm R (Module.Dual R M) M (Module.Dual R N) N) a)
        @[simp]
        theorem QuadraticForm.toDualProd_apply {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) [Invertible 2] (i : M × M) :
        ↑(QuadraticForm.toDualProd Q) i = (↑(BilinForm.toLin (QuadraticForm.associated Q)) i.fst + ↑(BilinForm.toLin (QuadraticForm.associated Q)) i.snd, i.fst - i.snd)

        The isometry sending (Q.prod $ -Q) to (QuadraticForm.dualProd R M).

        This is σ from Proposition 4.8, page 84 of [Hermitian K-Theory and Geometric Applications][hyman1973]; though we swap the order of the pairs.

        Instances For

          TODO: show that QuadraticForm.toDualProd is an QuadraticForm.IsometryEquiv