feat(LinearAlgebra/Matrix/Charpoly): general coefficient formula as sum of principal minors#37625
Conversation
…um of principal minors
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. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests. 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 f211ee9026Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
…o/mathlib4 into feat-charpoly-coeff-minors
|
Updated with all the review feedback. Removed the inline comments, switched to let +generalize, used M.row in piecewise, dot notation for powersetCard, and nontriviality instead of [Nontrivial R]. The missing AlternatingMap API and Matrix.map_neg/map_sub I'll address in follow-up PRs if it's okay. |
Could you do these in a pre-work PR instead? That can hopefully be merged quickly (feel free to ping me), then you can merge master here. |
Here's the pre-work PR: Adds AlternatingMap.map_add_univ, AlternatingMap.map_smul_univ, and Matrix.map_neg. Let me know if anything needs adjusting. |
…and Matrix.map_neg (#37719) This PR adds missing API lemmas requested during review of #37625: - `AlternatingMap.map_add_univ`: additivity along all coordinates, mirroring `MultilinearMap.map_add_univ` - `AlternatingMap.map_smul_univ`: multiplicativity along all coordinates, mirroring `MultilinearMap.map_smul_univ` - `Matrix.map_neg`: negation distributes over `Matrix.map`, complementing `Matrix.map_add` and `Matrix.map_sub`
…lib4 into feat-charpoly-coeff-minors
…o/mathlib4 into feat-charpoly-coeff-minors
Done. #37719 is merged. Now we use AlternatingMap.map_add_univ, map_smul_univ, and Matrix.map_neg directly. |
This PR adds a general formula for the coefficients of
det(1 + X • M)as sums of principal minors, generalizing the existingcoeff_det_one_add_X_smul_one(k=1, trace) anddet_eq_sign_charpoly_coeff(k=n, determinant). It also derives the corresponding formula for the coefficients of the characteristic polynomial viacharpolyRev.New results:
det_piecewise_one_eq_submatrix_det: relates piecewise-with-identity to principal submatrix determinantscoeff_det_one_add_X_smul_eq_sum_minors: the k-th coefficient ofdet(1 + X • M)equals the sum of k×k principal minorscharpoly_coeff_eq_sum_minors: coefficients of the characteristic polynomial as signed sums of principal minors