Commit 2020-11-27 09:16 d0789503
View on Github →feat(linear_algebra/bilinear_form): equivalence with matrices, given a basis (#5095)
This PR defines the equivalence between bilinear forms on an arbitrary module and matrices, given a basis of that module. It updates the existing equivalence between bilinear forms on n → R so that the overall structure of the file matches that of linear_algebra.matrix, i.e. there are two pairs of equivs, one for n → R and one for any M with a basis.
Changes:
bilin_form_equiv_matrix,bilin_form.to_matrixandmatrix.to_bilin_formhave been consolidated as linear equivsbilin_form.to_matrix'andmatrix.to_bilin'. Other declarations have been renamed accordingly.quadratic_form.to_matrixandmatrix.to_quadratic_formare renamed by analogy toquadratic_form.to_matrix'andmatrix.to_quadratic_form'- replaced some
classical.decidable_eqin lemma statements with instance parameters, because otherwise we have to usecongrto apply these lemmas when adecidable_eqinstance is available Additions: bilin_form.to_matrixandmatrix.to_bilin: given a basis, the equivalences between bilinear forms on any module and matrices- lemmas from
to_matrix'andto_bilin'have been ported toto_matrixandto_bilin bilin_form.congr, a dependency ofbilin_form.to_matrix, states thatbilin_form R Mandbilin_form R M'are linearly equivalent ifMandM'are- assorted lemmas involving
std_basisDeletions: bilin_form.to_matrix_smul: uselinear_equiv.map_smulinstead