Quadratic form on product and pi types #
Main definitions #
QuadraticForm.prod Q₁ Q₂
: the quadratic form constructed elementwise on a productQuadraticForm.pi Q
: the quadratic form constructed elementwise on a pi type
Main results #
QuadraticForm.Equivalent.prod
,QuadraticForm.Equivalent.pi
: quadratic forms are equivalent if their components are equivalentQuadraticForm.nonneg_prod_iff
,QuadraticForm.nonneg_pi_iff
: quadratic forms are positive- semidefinite if and only if their components are positive-semidefinite.QuadraticForm.posDef_prod_iff
,QuadraticForm.posDef_pi_iff
: quadratic forms are positive- definite if and only if their components are positive-definite.
Implementation notes #
Many of the lemmas in this file could be generalized into results about sums of positive and
non-negative elements, and would generalize to any map Q
where Q 0 = 0
, not just quadratic
forms specifically.
Construct a quadratic form on a product of two modules from the quadratic form on each module.
Equations
- QuadraticForm.prod Q₁ Q₂ = QuadraticForm.comp Q₁ (LinearMap.fst R M₁ M₂) + QuadraticForm.comp Q₂ (LinearMap.snd R M₁ M₂)
Instances For
An isometry between quadratic forms generated by QuadraticForm.prod
can be constructed
from a pair of isometries between the left and right parts.
Equations
- One or more equations did not get rendered due to their size.
Instances For
LinearMap.inl
as an isometry.
Equations
- QuadraticForm.Isometry.inl Q₁ Q₂ = { toLinearMap := LinearMap.inl R M₁ M₂, map_app' := (_ : ∀ (m₁ : M₁), Q₁ m₁ + Q₂ 0 = Q₁ m₁) }
Instances For
LinearMap.inr
as an isometry.
Equations
- QuadraticForm.Isometry.inr Q₁ Q₂ = { toLinearMap := LinearMap.inr R M₁ M₂, map_app' := (_ : ∀ (m₁ : M₂), Q₁ 0 + Q₂ m₁ = Q₂ m₁) }
Instances For
LinearEquiv.prodComm
is isometric.
Equations
- One or more equations did not get rendered due to their size.
Instances For
LinearEquiv.prodProdProdComm
is isometric.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If a product is anisotropic then its components must be. The converse is not true.
Construct a quadratic form on a family of modules from the quadratic form on each module.
Equations
- QuadraticForm.pi Q = Finset.sum Finset.univ fun (i : ι) => QuadraticForm.comp (Q i) (LinearMap.proj i)
Instances For
An isometry between quadratic forms generated by QuadraticForm.pi
can be constructed
from a pair of isometries between the left and right parts.
Equations
- One or more equations did not get rendered due to their size.
Instances For
LinearMap.single
as an isometry.
Equations
- QuadraticForm.Isometry.single Q i = { toLinearMap := LinearMap.single i, map_app' := (_ : ∀ (m : Mᵢ i), (QuadraticForm.pi Q) (Pi.single i m) = (Q i) m) }
Instances For
If a family is anisotropic then its components must be. The converse is not true.