feat(Analysis/InnerProductSpace): generalized determinant of a rectangle matrix / linear map#37295
feat(Analysis/InnerProductSpace): generalized determinant of a rectangle matrix / linear map#37295wwylele wants to merge 4 commits intoleanprover-community:masterfrom
Conversation
PR summary 09037d340eImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
There was a problem hiding this comment.
Pull request overview
Adds a new mathlib API entry for the commonly used “rectangular determinant” quantity sqrt(det(Tᴴ * T)), implemented for linear maps between inner product spaces as LinearMap.normDet.
Changes:
- Introduce
LinearMap.normDet : (U →ₗ[𝕜] V) → ℝ(via a determinant of the range-restriction matrix in orthonormal bases). - Prove core properties: basis-independence, vanishing criterion via kernel, compatibility with
LinearMap.detfor endomorphisms, and the “square equals det(adjoint ∘ f)” lemma (forContinuousLinearMapandLinearMap). - Add literature references and wire the new file into the main
Mathlibimport tree.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
docs/references.bib |
Adds bibliography entries cited by the new module docstring. |
Mathlib/Analysis/InnerProductSpace/NormDet.lean |
New definition LinearMap.normDet plus lemmas relating it to determinants of adjoint ∘ f. |
Mathlib.lean |
Imports the new NormDet module. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
04fda4a to
9d12748
Compare
0cea0c9 to
81ce2de
Compare
f1b20e4 to
ad68026
Compare
|
Added another result I collected these relations with adjoint / gram matrix / singular values hopefully to show the importance of this definition, but this also makes the file pretty long. If reviewers are convinced and then suggest breaking this into multiple pieces, I am happy to do so |
25b1043 to
f88e999
Compare
…gle matrix / linear map
|
This PR/issue depends on: |
| have h1 : bu.toBasis.toMatrix (stdOrthonormalBasis 𝕜 U).toBasis * | ||
| (stdOrthonormalBasis 𝕜 U).toBasis.toMatrix bu.toBasis = 1 := | ||
| Basis.toMatrix_mul_toMatrix_flip _ _ | ||
| have h2 : (stdOrthonormalBasis 𝕜 U).toBasis.toMatrix bu.toBasis * | ||
| bu.toBasis.toMatrix (stdOrthonormalBasis 𝕜 U).toBasis = 1 := | ||
| Basis.toMatrix_mul_toMatrix_flip _ _ |
There was a problem hiding this comment.
This seems to be a missing lemma that this matrix is unitary.
There was a problem hiding this comment.
The difficulty here is that these matrices are "not" square matrices: the number of the rows and columns are equal, but they are of different index types. Because of this, the statement of them being unitary is not well-typed.
This is the volume factor of a linear map
I have encountered the expression
sqrt(det(T' * T))a few times in various places but it doesn't look like it has a standard name and entry in mathlib, so this adds it.Zulip thread #Is there code for X? > (norm of) "determinant" of map between inner product spaces
One motivation to define this is to state volume formula under transformations. From Measure theory and fine properties of functions:
euclideanHausdorffMeasure_image_eq_normDet_mul_volumenormDetof the rectangular Jacobian matrixAI usage disclosure: AI was used in the following parts