Commit 2024-07-13 17:36 98151c27

View on Github →

refactor(LinearAlgebra/QuadraticForm/Basic) : Generalise QuadraticForm to QuadraticMap (#7569) Most of the theory in LinearAlgebra/QuadraticForm/Basic also holds for Quadratic Maps with minimal modification. A quadratic form is just a special case of a quadratic map. To keep this PR to a reasonable size I have not attempted to generalise other files in LinearAlgebra/QuadraticForm - this can be done in subsequent PRs. To facilitate dot notation we also introduce LinearMap.BilinMap as an abbreviation for M →ₗ[R] M →ₗ[R] N. No attempt has been made to generalise all BilinForm results to BilinMap at this stage. Some results in LinearAlgebra/QuadraticForm/Basic are still stated for quadratic forms either because there was no obvious generalisation to quadratic maps, or the generalisation requires improvements elsewhere in Mathlib which can be considered in subsequent PRs. My motivation for introducing Quadratic Maps to Mathlib is that it would allow the definition of interesting non-associative structures such as quadratic Jordan Algebras and Jordan Pairs.

Estimated changes

deleted theorem QuadraticForm.IsOrtho.all
deleted theorem QuadraticForm.PosDef.add
deleted theorem QuadraticForm.PosDef.smul
deleted theorem QuadraticForm.add_apply
deleted theorem QuadraticForm.coeFn_add
deleted theorem QuadraticForm.coeFn_neg
deleted theorem QuadraticForm.coeFn_smul
deleted theorem QuadraticForm.coeFn_sub
deleted theorem QuadraticForm.coeFn_sum
deleted theorem QuadraticForm.coeFn_zero
deleted theorem QuadraticForm.coe_copy
deleted def QuadraticForm.comp
deleted theorem QuadraticForm.comp_apply
deleted theorem QuadraticForm.congr_fun
deleted theorem QuadraticForm.copy_eq
deleted def QuadraticForm.discr
deleted theorem QuadraticForm.discr_comp
deleted theorem QuadraticForm.discr_smul
deleted theorem QuadraticForm.ext
deleted theorem QuadraticForm.ext_iff
deleted theorem QuadraticForm.isOrtho_def
deleted theorem QuadraticForm.map_neg
deleted theorem QuadraticForm.map_smul
deleted theorem QuadraticForm.map_sub
deleted theorem QuadraticForm.neg_apply
deleted def QuadraticForm.polar
deleted theorem QuadraticForm.polar_add
deleted theorem QuadraticForm.polar_comm
deleted theorem QuadraticForm.polar_comp
deleted theorem QuadraticForm.polar_neg
deleted theorem QuadraticForm.polar_self
deleted theorem QuadraticForm.polar_smul
deleted def QuadraticForm.proj
deleted theorem QuadraticForm.proj_apply
deleted theorem QuadraticForm.smul_apply
deleted def QuadraticForm.sq
deleted theorem QuadraticForm.sub_apply
deleted theorem QuadraticForm.sum_apply
deleted theorem QuadraticForm.zero_apply
deleted structure QuadraticForm
added theorem QuadraticMap.add_apply
added theorem QuadraticMap.coeFn_add
added theorem QuadraticMap.coeFn_neg
added theorem QuadraticMap.coeFn_sub
added theorem QuadraticMap.coeFn_sum
added theorem QuadraticMap.coe_copy
added theorem QuadraticMap.congr_fun
added theorem QuadraticMap.copy_eq
added theorem QuadraticMap.ext
added theorem QuadraticMap.ext_iff
added theorem QuadraticMap.map_neg
added theorem QuadraticMap.map_smul
added theorem QuadraticMap.map_sub
added theorem QuadraticMap.neg_apply
added theorem QuadraticMap.polar_add
added theorem QuadraticMap.polar_neg
added def QuadraticMap.sq
added theorem QuadraticMap.sub_apply
added theorem QuadraticMap.sum_apply
added structure QuadraticMap