-
Notifications
You must be signed in to change notification settings - Fork 890
feat(Mathlib/Analysis): Existence of Singular Value Decomposition #31830
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
This PR establishes the existence of the Singular Value Decomposition (SVD) for complex matrices. It covers the Thin SVD for positive definite matrices and extends this to the full Rectangular SVD for arbitrary dimensions ($m \times n$). Main additions: Matrix.IsSemiUnitary: Definition for matrices where $U^*U = I$.Matrix. IsRealDiag: Predicate for matrices with real entries on the diagonal and zeros elsewhere. exists_thinSVD_of_posDef: Existence of Thin SVD for matrices with full column rank (via positive definite $A^*A$). exists_rectSVD: Existence of SVD for tall matrices ($n \le m$) using Gram-Schmidt to extend the left unitary basis. exists_rectSVD_wide: Extension to wide matrices ($m \le n$) via the conjugate transpose. This formalization relies on the spectral theorem for Hermitian matrices to derive singular values and vectors.
PR summary 6025bca1ceImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
Svd patch 2
…alDiag with rectDiagonal, simplify Gram–Schmidt proofs and options (#lint clean)
|
I am changing the location of the code from Mathlib/LinearAlgebra to either Mathlib/Analysis or Mathlib/Topology due to errors of the form like this: |
This PR develops the Singular Value Decomposition (SVD) for complex matrices Matrix (Fin m) (Fin n) ℂ. It starts from the thin SVD for positive definite Gram matrices and extends to full rectangular SVD for arbitrary rectangular shapes.
Summary:
Main results:
Proofs are organized around existing mathlib APIs (IsHermitian, PosDef, PosSemidef, spectral theorem, Gram–Schmidt).