Documentation

Mathlib.LinearAlgebra.QuadraticForm.Dual

Quadratic form structures related to Module.Dual #

Main definitions #

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

Equations
  • One or more equations did not get rendered due to their size.
@[simp]
theorem LinearMap.dualProd_apply_apply (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] (a a✝ : Module.Dual R M × M) :
((dualProd R M) a) a✝ = a✝.1 a.2 + a.1 a✝.2
theorem LinearMap.isSymm_dualProd (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] :

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

Equations
@[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) :
(dualProd R M) p = p.1 p.2

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

Equations
@[simp]
theorem QuadraticForm.dualProdIsometry_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] (f : M ≃ₗ[R] N) (a✝ : Module.Dual R N × N) :
(dualProdIsometry f).invFun a✝ = ((↑f.symm.dualMap).prodCongr f).symm a✝
@[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) (a✝ : Module.Dual R M × M) :
(dualProdIsometry f) a✝ = ((↑f.symm.dualMap).prodCongr f) a✝

QuadraticForm.dualProd commutes (isometrically) with QuadraticForm.prod.

Equations
  • One or more equations did not get rendered due to their size.
@[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) :
dualProdProdIsometry a✝ = ((a✝.1 ∘ₗ LinearMap.inl R M N, a✝.2.1), a✝.1 ∘ₗ LinearMap.inr R M N, a✝.2.2)
@[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) :
dualProdProdIsometry.invFun a✝ = ((Module.dualProdDualEquivDual R M N).symm.prodCongr (LinearEquiv.refl R (M × N))).symm ((a✝.1.1, a✝.2.1), a✝.1.2, a✝.2.2)

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.

Equations
  • One or more equations did not get rendered due to their size.
@[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) :

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