Quadratic form structures related to Module.Dual #
Main definitions #
LinearMap.dualProd R M, the bilinear form on(f, x) : Module.Dual R M × Mdefined asf x.QuadraticForm.dualProd R M, the quadratic form on(f, x) : Module.Dual R M × Mdefined asf x.QuadraticForm.toDualProd : (Q.prod <| -Q) →qᵢ QuadraticForm.dualProd R Ma form-preserving map from(Q.prod <| -Q)toQuadraticForm.dualProd R M.
def LinearMap.dualProd (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] :
LinearMap.BilinForm R (Module.Dual R M × M)
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.
Instances For
@[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) :
theorem LinearMap.isSymm_dualProd (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] :
theorem LinearMap.separatingLeft_dualProd (R : Type u_1) (M : Type u_2) [CommRing R] [AddCommGroup M] [Module R M] :
def QuadraticForm.dualProd (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] :
QuadraticForm R (Module.Dual R M × M)
The quadratic form on Module.Dual R M × M defined as Q (f, x) = f x.
Equations
- QuadraticForm.dualProd R M = { toFun := fun (p : Module.Dual R M × M) => p.1 p.2, toFun_smul := ⋯, exists_companion' := ⋯ }
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) :
@[simp]
theorem LinearMap.dualProd.toQuadraticForm (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] :
def QuadraticForm.dualProdIsometry {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) :
QuadraticMap.IsometryEquiv (dualProd R M) (dualProd R N)
Any module isomorphism induces a quadratic isomorphism between the corresponding dual_prod.
Equations
Instances For
@[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) :
@[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) :
def QuadraticForm.dualProdProdIsometry {R : Type u_1} {M : Type u_2} {N : Type u_3} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] :
QuadraticMap.IsometryEquiv (dualProd R (M × N)) (QuadraticMap.prod (dualProd R M) (dualProd R N))
QuadraticForm.dualProd commutes (isometrically) with QuadraticForm.prod.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[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) :
@[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] (x : Module.Dual R (M × N) × M × N) :
def QuadraticForm.toDualProd {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (Q : QuadraticForm R M) [Invertible 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; though we swap the order of the pairs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[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
theorem LinearMap.BilinForm.linearIndependent_of_pairwise_le_zero {ι : Type u_4} {R : Type u_5} {M : Type u_6} [CommRing R] [LinearOrder R] [IsStrictOrderedRing R] [AddCommGroup M] [Module R M] (B : LinearMap.BilinForm R M) (hB : (BilinMap.toQuadraticMap B).PosDef) (f : Module.Dual R M) (v : ι → M) (hp : ∀ (i : ι), 0 < f (v i)) (hn : Pairwise fun (i j : ι) => (B (v i)) (v j) ≤ 0) :
Vectors which subtend obtuse angles with each other and all lie in the same half-space are linearly independent.
This is [Ser87](Ch. V, §9, Lemma 4).