@[implicit_reducible]
theorem
QuadraticFormEquiv.associated_bilinForm_isSymm
{k : Type u_1}
[Field k]
[NeZero 2]
{V : Type u_2}
[AddCommGroup V]
[Module k V]
(Q : QuadraticForm k V)
:
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)
:
theorem
QuadraticFormEquiv.associated_toQuadraticMap_eq
{k : Type u_1}
[Field k]
[NeZero 2]
{V : Type u_2}
[AddCommGroup V]
[Module k V]
(Q : QuadraticForm k V)
:
theorem
QuadraticFormEquiv.associated_of_symm_bilinForm
{k : Type u_1}
[Field k]
[NeZero 2]
{V : Type u_2}
[AddCommGroup V]
[Module k V]
(B : LinearMap.BilinForm k V)
(hB : LinearMap.IsSymm B)
:
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)
:
noncomputable def
QuadraticFormEquiv.matrixBilinEquiv
{k : Type u_1}
[Field k]
{n : Type u_2}
[Fintype n]
[DecidableEq n]
:
Instances For
noncomputable def
QuadraticFormEquiv.bilinFormToMatrix
{k : Type u_1}
[Field k]
{n : Type u_2}
[Fintype n]
[DecidableEq n]
:
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 : n → k)
:
theorem
QuadraticFormEquiv.toMatrix_toLinearMap₂
{k : Type u_1}
[Field k]
{n : Type u_2}
[Fintype n]
[DecidableEq n]
(A : Matrix n n k)
:
theorem
QuadraticFormEquiv.toLinearMap₂_toMatrix
{k : Type u_1}
[Field k]
{n : Type u_2}
[Fintype n]
[DecidableEq n]
(B : LinearMap.BilinMap k (n → k) k)
:
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 (n → k)
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 (n → k))
:
Matrix n n k
Instances For
theorem
QuadraticFormEquiv.quadraticFormToMatrix_isSymm
{k : Type u_1}
[Field k]
[NeZero 2]
{n : Type u_2}
[Fintype n]
[DecidableEq n]
(Q : QuadraticForm k (n → k))
:
theorem
QuadraticFormEquiv.bilinForm_symm_to_matrix_symm
{k : Type u_1}
[Field k]
{n : Type u_2}
[Fintype n]
[DecidableEq n]
(B : LinearMap.BilinForm k (n → k))
(hB : LinearMap.IsSymm B)
:
((LinearMap.toMatrix₂' k) B).IsSymm
theorem
QuadraticFormEquiv.matrix_symm_to_bilinForm_symm
{k : Type u_1}
[Field k]
{n : Type u_2}
[Fintype n]
[DecidableEq n]
(A : Matrix n n k)
(hA : A.IsSymm)
:
((Matrix.toLinearMap₂' k) A).IsSymm
theorem
QuadraticFormEquiv.equivalent_def
{k : Type u_1}
[CommSemiring k]
{V : Type u_2}
[AddCommMonoid V]
[Module k V]
(f g : QuadraticMap k V k)
:
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)
:
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)
:
theorem
QuadraticFormEquiv.equivalent_refl
{k : Type u_1}
[CommSemiring k]
{V : Type u_2}
[AddCommMonoid V]
[Module k V]
(f : QuadraticMap k V k)
:
f.Equivalent f
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)
:
g.Equivalent f
theorem
QuadraticFormEquiv.equivalent_comm
{k : Type u_1}
[CommSemiring k]
{V : Type u_2}
[AddCommMonoid V]
[Module k V]
(f g : QuadraticMap k V k)
:
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)
:
f.Equivalent h
theorem
QuadraticFormEquiv.equivalent_isEquiv
{k : Type u_1}
[CommSemiring k]
{V : Type u_2}
[AddCommMonoid V]
[Module k V]
:
theorem
QuadraticFormEquiv.diagonalization_via_orthogonal_basis
{k : Type u_1}
[Field k]
[NeZero 2]
{V : Type u_2}
[AddCommGroup V]
[Module k V]
(Q : QuadraticForm k V)
(v : Module.Basis (Fin (Module.finrank k V)) k V)
(hv : LinearMap.IsOrthoᵢ (QuadraticMap.associated Q) ⇑v)
:
QuadraticMap.Equivalent Q (QuadraticMap.weightedSumSquares k fun (i : Fin (Module.finrank k V)) => Q (v i))
theorem
QuadraticFormEquiv.diagonalization_of_quadratic_forms
{k : Type u_1}
[Field k]
[NeZero 2]
{V : Type u_2}
[AddCommGroup V]
[Module k V]
[FiniteDimensional k V]
(Q : QuadraticForm k V)
:
∃ (w : Fin (Module.finrank k V) → k), QuadraticMap.Equivalent Q (QuadraticMap.weightedSumSquares k w)
theorem
QuadraticFormEquiv.exists_orthogonal_basis_for_quadForm
{k : Type u_1}
[Field k]
[NeZero 2]
{V : Type u_2}
[AddCommGroup V]
[Module k V]
[FiniteDimensional k V]
(Q : QuadraticForm k V)
:
∃ (v : Module.Basis (Fin (Module.finrank k V)) k V), LinearMap.IsOrthoᵢ (QuadraticMap.associated Q) ⇑v
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}
:
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)
:
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)
:
Represents Q c
theorem
QuadraticFormDef93.matrix_fullRank_iff_det_ne_zero
{k : Type u_1}
[Field k]
{n : Type u_2}
[Fintype n]
[DecidableEq n]
[Nonempty n]
(A : Matrix n n k)
:
noncomputable def
QuadraticFormDef93.quadraticFormRank
{k : Type u_1}
[Field k]
[NeZero 2]
{n : Type u_2}
[Fintype n]
[DecidableEq n]
(Q : QuadraticForm k (n → k))
:
Instances For
def
QuadraticFormDef93.quadraticFormIsNondegenerate
{k : Type u_1}
[Field k]
[NeZero 2]
{n : Type u_2}
[Fintype n]
[DecidableEq n]
(Q : QuadraticForm k (n → k))
:
Instances For
theorem
QuadraticFormDef93.quadraticForm_nondegenerate_iff_det_ne_zero
{k : Type u_1}
[Field k]
[NeZero 2]
{n : Type u_2}
[Fintype n]
[DecidableEq n]
[Nonempty n]
(Q : QuadraticForm k (n → k))
:
theorem
QuadraticFormDef93.toLinearMap₂'_toMatrix'_eq_associated
{k : Type u_1}
[Field k]
[NeZero 2]
{n : Type u_2}
[Fintype n]
[DecidableEq n]
(Q : QuadraticForm k (n → k))
:
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 (n → k))
(x y : n → k)
:
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 (n → k))
(hQ : quadraticFormIsNondegenerate Q)
(x : n → k)
(hx : x ≠ 0)
:
∃ (y : n → k), ((QuadraticMap.associated Q) x) y ≠ 0
noncomputable def
QuadraticFormDef94.toSquareClass
(k : Type u_1)
[Field k]
:
kˣ → SquareClassGroup 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 (n → k) k)
(hQ : Q.discr ≠ 0)
:
kˣ
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 (n → k) 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 : (m → k') ≃ₗ[k'] m → k')
:
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 (n → k) k}
(e : Q₁.IsometryEquiv Q₂)
:
Q₁.discr = (LinearMap.toMatrix' ↑e.toLinearEquiv).det * (LinearMap.toMatrix' ↑e.toLinearEquiv).det * Q₂.discr
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 (n → k) k}
(e : Q₁.IsometryEquiv Q₂)
(hQ₁ : Q₁.discr ≠ 0)
(hQ₂ : Q₂.discr ≠ 0)
: