feat(LinearAlgebra/Matrix): add Matrix.mul_eq_smul_one_symm#35652
feat(LinearAlgebra/Matrix): add Matrix.mul_eq_smul_one_symm#35652dennj wants to merge 1 commit intoleanprover-community:masterfrom
Matrix.mul_eq_smul_one_symm#35652Conversation
Add a scalar variant of `mul_eq_one_symm` for matrices: if `M * N = c • 1` and `det M ≠ 0`, then `N * M = c • 1`. This generalises `mul_eq_one_symm` (the `c = 1` case) to arbitrary scalars, at the cost of requiring `IsDomain` and `det M ≠ 0`.
Welcome new contributor!Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR. Thank you again for joining our community. |
PR summary 4df4ffda6eImport changes for modified filesNo significant changes to the import graph Import changes for all files
Declarations diff
You can run this locally as follows## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>
## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>The doc-module for No changes to technical debt.You can run this locally as
|
eric-wieser
left a comment
There was a problem hiding this comment.
Is a more general version of this true, building on top of #35676 ?
Summary
Matrix.mul_eq_smul_one_symm: ifM * N = c • 1anddet M ≠ 0, thenN * M = c • 1mul_eq_one_symm(thec = 1case) to arbitrary scalars, requiringIsDomainanddet M ≠ 0adjugate M * M = det M • 1to derivedet M • (N * M) = det M • (c • 1), then cancelsdet Mviamul_left_cancel₀Theorem imported from: https://github.com/Latinum-Agentic-Commerce/AlgebraicDesignTheory