Commit 2020-01-27 20:50 bba84730
View on Github →feat(linear_algebra): Matrix inverses for square nonsingular matrices (#1816)
- Prove that some matrices have inverses
- Finish the proof: show that the determinant is 0 if a column is repeated
- Show that nonsingular_inv is also a right inverse
- Cleanup and code movement
- Small lemmata on transpose
- WIP: some work on inverse matrices
- Code cleanup and documentation
- More cleanup and documentation
- Generalize det_zero_of_column_eq to remove the linear order assumption
- Fix linting issues.
- Unneeded import can be removed
- A little bit more cleanup
- Generalize nonsing_inv to any ring with inverse
- Improve comments for
nonsingular_inverse - Remove the less general
det_zero_of_column_eq_of_char_ne_twoproof - Rename
cramer_map_val->cramer_map_defCo-Authored-By: Chris Hughes 33847686+ChrisHughes24@users.noreply.github.com - whitespace Co-Authored-By: Chris Hughes 33847686+ChrisHughes24@users.noreply.github.com
- whitespace: indent tactic proofs
- More renaming
cramer_map_val->cramer_map_def swap_mul_self_mulcan be asimplemma- Make parameter σ to
swap_mul_eq_iffimplicit - Update usage of
function.update_sameandfunction.update_noteq - Replace
det_permutewithdet_permutationAlthough the statement now gives the determinant of a permutation matrix, the proof is easier if we write it as a permuted identity matrix. Thus the proof is basically the same, except a different line showing that the entries are the same. - Re-introduce
matrix.det_permute(now based onmatrix.det_permutation) - Delete
cramer_atand clean up the proofs depending on it - Replace
cramer_mapwithcramerafter definingcramer - Apply suggestions from code review Co-Authored-By: sgouezel sebastien.gouezel@univ-rennes1.fr
- Clean up imports
- Formatting: move } to previous lines
- Move assumptions of
det_zero_of_repeated_columnfrom variable to argument - whitespace
Insert space between
finset.filterand the filter condition. Co-Authored-By: sgouezel sebastien.gouezel@univ-rennes1.fr - Improve docstrings
- Make argument to
prod_cancels_of_partition_cancelsexplicit - Rename
replace_columnandreplace_rowtoupdate_columnandupdate_row - Replace
update_column_eqwithupdate_column_self+ rewriting step - whitespace Newlines between all lemmas
- whitespace Newline before 'begin'
- Fix conflicts with latest mathlib
- Remove unnecessary explicitification of arguments