Documentation

LeanPool.DavisKahan.ForTauCeti.Analysis.InnerProductSpace.RectangularSingularValues

Rectangular singular values and adjoint-product spectra #

For a linear map A : E โ†’โ‚—[๐•œ] F between finite-dimensional inner-product spaces, the two Gram operators Aโ€ A (on E) and AAโ€  (on F) share their nonzero spectrum, including multiplicity. Mathlib defines the zero-padded singular-value sequence LinearMap.singularValues through Aโ€ A only; this file supplies the canonical bridge to the codomain-side Gram operator.

Main results #

The combinatorial engine is TauCeti.antitone_eq_of_card_filter_eq: two antitone nonnegative finite sequences with equal fiber cardinalities over every nonzero value agree at every index where both are defined.

Proof sources #

The eigenspace equivalence and the counting argument are original to this file. The vendored Apache-2.0 excerpt vendor/lean/lean-stat-learning-theory/SingularSystemGram.excerpt.lean (Zhangโ€“Leeโ€“Liu) constructs explicit left singular vectors for Euclidean matrix maps and was consulted as a cross-check for the spectral bookkeeping; no code was copied from it here.

Preferred variant #

This is the preferred implementation of the rectangular adjoint-spectrum layer, and the one the Perfect Quench build depends on (via GramSpectrumBridge). A near-identical alternative proof from the dk-work branch (GPT-5.6 High) is preserved verbatim for comparison at RectangularSingularValuesDkVariant.lean; the two differ only in three minor spots, and that variant does not elaborate on the pinned toolchain (its calc form of sq_singularValues_selfCompAdjoint provokes a whnf heartbeat blow-up), which is why this file rewrote that proof.

Sorted sequences determined by fiber cardinalities #

Pure finite combinatorics: an antitone nonnegative sequence is determined below any index by the cardinalities of its positive fibers.

theorem TauCeti.antitone_le_apply_iff_lt_card_filter {d : โ„•} {f : Fin d โ†’ โ„} (hf : Antitone f) (c : โ„) (k : Fin d) :
c โ‰ค f k โ†” โ†‘k < {i : Fin d | c โ‰ค f i}.card

For an antitone real sequence on Fin d, the k-th entry is at least c exactly when more than k entries are at least c.

theorem TauCeti.card_filter_le_eq_of_card_filter_eq {d n : โ„•} {f : Fin d โ†’ โ„} {g : Fin n โ†’ โ„} (hcard : โˆ€ (c : โ„), c โ‰  0 โ†’ {i : Fin d | f i = c}.card = {j : Fin n | g j = c}.card) {c : โ„} (hc : 0 < c) :
{i : Fin d | c โ‰ค f i}.card = {j : Fin n | c โ‰ค g j}.card

If two real sequences have fibers of equal cardinality over every nonzero value, their super-level sets over every positive threshold have equal cardinality.

theorem TauCeti.antitone_eq_of_card_filter_eq {d n : โ„•} {f : Fin d โ†’ โ„} {g : Fin n โ†’ โ„} (hf : Antitone f) (hg : Antitone g) (hf0 : โˆ€ (i : Fin d), 0 โ‰ค f i) (hg0 : โˆ€ (j : Fin n), 0 โ‰ค g j) (hcard : โˆ€ (c : โ„), c โ‰  0 โ†’ {i : Fin d | f i = c}.card = {j : Fin n | g j = c}.card) {k : โ„•} (hkd : k < d) (hkn : k < n) :

Two antitone nonnegative finite real sequences with equal fiber cardinalities over every nonzero value agree at every index where both are defined. The zero fibers may have different cardinalities: they absorb the length difference of the two sequences.

The nonzero eigenspace equivalence between Aโ€ A and AAโ€  #

theorem TauCeti.isSymmetric_self_comp_adjoint {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) :

The codomain Gram operator AAโ€  is symmetric.

theorem TauCeti.apply_mem_eigenspace_selfCompAdjoint {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) {ฮผ : ๐•œ} {x : E} (hx : x โˆˆ Module.End.eigenspace (LinearMap.adjoint A โˆ˜โ‚— A) ฮผ) :

A maps each eigenspace of Aโ€ A into the same eigenspace of AAโ€ .

theorem TauCeti.adjoint_apply_mem_eigenspace_adjointCompSelf {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) {ฮผ : ๐•œ} {y : F} (hy : y โˆˆ Module.End.eigenspace (A โˆ˜โ‚— LinearMap.adjoint A) ฮผ) :

Aโ€  maps each eigenspace of AAโ€  into the same eigenspace of Aโ€ A.

noncomputable def TauCeti.nonzeroEigenspaceEquivAdjointCompSelfSelfCompAdjoint {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) (ฮผ : ๐•œ) (hฮผ : ฮผ โ‰  0) :

The nonzero ฮผ-eigenspaces of Aโ€ A and AAโ€  are linearly equivalent, via x โ†ฆ A x with inverse y โ†ฆ ฮผโปยน โ€ข Aโ€  y. This is the multiplicity-preserving form of the statement that Aโ€ A and AAโ€  have the same nonzero spectrum.

Equations
Instances For
    theorem TauCeti.finrank_eigenspace_adjointCompSelf_eq_selfCompAdjoint {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) (ฮผ : ๐•œ) (hฮผ : ฮผ โ‰  0) :

    Corresponding nonzero eigenspaces of Aโ€ A and AAโ€  have equal dimension.

    theorem TauCeti.hasEigenvalue_adjointCompSelf_iff_selfCompAdjoint {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) (ฮผ : ๐•œ) (hฮผ : ฮผ โ‰  0) :

    A nonzero scalar is an eigenvalue of Aโ€ A exactly when it is an eigenvalue of AAโ€ .

    Equality of the sorted nonzero spectra #

    theorem TauCeti.eigenvalues_congr' {๐•œ : Type u_1} [RCLike ๐•œ] {G : Type u_4} [NormedAddCommGroup G] [InnerProductSpace ๐•œ G] [FiniteDimensional ๐•œ G] {Sโ‚ Sโ‚‚ : G โ†’โ‚—[๐•œ] G} (h : Sโ‚ = Sโ‚‚) (hSโ‚ : Sโ‚.IsSymmetric) (hSโ‚‚ : Sโ‚‚.IsSymmetric) {m : โ„•} (hm : Module.finrank ๐•œ G = m) :
    hSโ‚.eigenvalues hm = hSโ‚‚.eigenvalues hm

    Sorted eigenvalues are congruent along an operator equality. (A primed variant of TauCeti.eigenvalues_congr from SingularSubspace.lean, restated here to keep this file's import footprint minimal; the two should be merged when upstreaming.)

    theorem TauCeti.card_filter_eigenvalues_adjointCompSelf_eq_selfCompAdjoint {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) {d n : โ„•} (hd : Module.finrank ๐•œ E = d) (hn : Module.finrank ๐•œ F = n) {c : โ„} (hc : c โ‰  0) :
    {i : Fin d | โ‹ฏ.eigenvalues hd i = c}.card = {j : Fin n | โ‹ฏ.eigenvalues hn j = c}.card

    For every nonzero real value, the sorted eigenvalue lists of Aโ€ A and AAโ€  have fibers of equal cardinality.

    theorem TauCeti.eigenvalues_adjointCompSelf_eq_selfCompAdjoint {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) {d n : โ„•} (hd : Module.finrank ๐•œ E = d) (hn : Module.finrank ๐•œ F = n) {k : โ„•} (hkd : k < d) (hkn : k < n) :
    โ‹ฏ.eigenvalues hd โŸจk, hkdโŸฉ = โ‹ฏ.eigenvalues hn โŸจk, hknโŸฉ

    Rectangular spectral bridge. The sorted (descending) eigenvalue lists of Aโ€ A and AAโ€  agree at every index below both space dimensions. Beyond the rank of A both lists are zero, so no hypothesis relating d and n is required.

    Adjoint invariance of singular values #

    theorem LinearMap.singularValues_adjoint {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) :

    Singular values are invariant under adjoint. Both sequences are zero-padded past the common rank, so the statement needs no relation between the two dimensions.

    @[simp]
    theorem LinearMap.singularValues_adjoint_apply {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) (k : โ„•) :

    Pointwise adjoint invariance, convenient for rewriting a fixed index.

    theorem TauCeti.sq_singularValues_selfCompAdjoint {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) {n : โ„•} (hn : Module.finrank ๐•œ F = n) (i : Fin n) :
    A.singularValues โ†‘i ^ 2 = โ‹ฏ.eigenvalues hn i

    The sorted eigenvalues of the codomain Gram operator AAโ€  are the squared singular values of A, zero-padded past the rank of A.

    theorem TauCeti.hasEigenvalue_selfCompAdjoint_sq_singularValues {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) {i : โ„•} (hi : i < Module.finrank ๐•œ โ†ฅA.range) :

    Every positive squared singular value of A is an eigenvalue of AAโ€ .

    Quadratic floors and Gram spectra #

    Provenance #

    theorem TauCeti.re_inner_adjointCompSelf_self {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) (x : E) :

    The Gram quadratic form is the squared image norm: re โŸช(Aโ€ A) x, xโŸซ = โ€–A xโ€–ยฒ.

    theorem TauCeti.le_eigenvalues_adjointCompSelf_of_norm_sq_floor {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) {ฮฑ : โ„} (hfloor : โˆ€ (x : E), ฮฑ * โ€–xโ€– ^ 2 โ‰ค โ€–A xโ€– ^ 2) {d : โ„•} (hd : Module.finrank ๐•œ E = d) (i : Fin d) :
    ฮฑ โ‰ค โ‹ฏ.eigenvalues hd i

    A quadratic floor ฮฑโ€–xโ€–ยฒ โ‰ค โ€–Axโ€–ยฒ bounds every sorted eigenvalue of Aโ€ A below by ฮฑ.

    theorem TauCeti.norm_sq_floor_of_le_eigenvalues_adjointCompSelf {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) {ฮฑ : โ„} {d : โ„•} (hd : Module.finrank ๐•œ E = d) (hlow : โˆ€ (i : Fin d), ฮฑ โ‰ค โ‹ฏ.eigenvalues hd i) (x : E) :

    Converse direction: if every sorted eigenvalue of Aโ€ A is at least ฮฑ, the quadratic floor ฮฑโ€–xโ€–ยฒ โ‰ค โ€–Axโ€–ยฒ holds.

    theorem TauCeti.finrank_le_of_norm_sq_floor {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) {ฮฑ : โ„} (hฮฑ : 0 < ฮฑ) (hfloor : โˆ€ (x : E), ฮฑ * โ€–xโ€– ^ 2 โ‰ค โ€–A xโ€– ^ 2) :
    Module.finrank ๐•œ E โ‰ค Module.finrank ๐•œ F

    A positive quadratic floor forces injectivity, hence finrank E โ‰ค finrank F.

    theorem TauCeti.le_eigenvalues_selfCompAdjoint_of_norm_sq_floor {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (A : E โ†’โ‚—[๐•œ] F) {ฮฑ : โ„} (hfloor : โˆ€ (x : E), ฮฑ * โ€–xโ€– ^ 2 โ‰ค โ€–A xโ€– ^ 2) {n : โ„•} (hn : Module.finrank ๐•œ F = n) (i : Fin n) (hi : โ†‘i < Module.finrank ๐•œ E) :
    ฮฑ โ‰ค โ‹ฏ.eigenvalues hn i

    Quadratic floor to codomain-Gram spectral floor. If ฮฑโ€–xโ€–ยฒ โ‰ค โ€–Axโ€–ยฒ for every x, then the first finrank ๐•œ E sorted eigenvalues of AAโ€  are at least ฮฑ. The dimension comparison finrank E โ‰ค finrank F is not assumed: it is automatic when ฮฑ > 0, and for ฮฑ โ‰ค 0 the claim follows from positivity of the Gram operator.

    theorem TauCeti.singularValues_eq_of_gram_eq {๐•œ : Type u_1} {E : Type u_2} {F : Type u_3} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] {F' : Type u_4} [NormedAddCommGroup F'] [InnerProductSpace ๐•œ F'] [FiniteDimensional ๐•œ F'] {A : E โ†’โ‚—[๐•œ] F} {B : E โ†’โ‚—[๐•œ] F'} (h : LinearMap.adjoint A โˆ˜โ‚— A = LinearMap.adjoint B โˆ˜โ‚— B) :

    Singular values only depend on the Gram operator.

    theorem TauCeti.singularValues_linearIsometry_comp {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {D : Type u_4} {F : Type u_5} [NormedAddCommGroup D] [InnerProductSpace ๐•œ D] [FiniteDimensional ๐•œ D] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (ฮน : F โ†’โ‚—แตข[๐•œ] E) (X : D โ†’โ‚—[๐•œ] F) :

    Postcomposing with a linear isometric embedding preserves singular values.

    This is the rectangular analogue of unitary invariance on the codomain. It needs no dimension comparison: the Gram operator is unchanged because an isometry preserves inner products.

    theorem TauCeti.LinearIsometry.adjoint_apply_apply {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {D : Type u_4} [NormedAddCommGroup D] [InnerProductSpace ๐•œ D] [FiniteDimensional ๐•œ D] (ฮน : D โ†’โ‚—แตข[๐•œ] E) (x : D) :
    (LinearMap.adjoint ฮน.toLinearMap) (ฮน x) = x

    The adjoint of a linear isometry is a left inverse. ฮนโ‹† (ฮน x) = x, because โŸชฮนโ‹† (ฮน x), yโŸซ = โŸชฮน x, ฮน yโŸซ = โŸชx, yโŸซ for every y.

    theorem TauCeti.LinearIsometry.adjoint_eq_zero_of_mem_orthogonal {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {D : Type u_4} [NormedAddCommGroup D] [InnerProductSpace ๐•œ D] [FiniteDimensional ๐•œ D] (ฮน : D โ†’โ‚—แตข[๐•œ] E) {y : E} (hy : y โˆˆ ฮน.rangeแ—ฎ) :

    The adjoint of a linear isometry annihilates the orthogonal complement of its range. Together with LinearIsometry.adjoint_apply_apply this says ฮนโ‹† is the orthogonal projection onto the source.

    theorem TauCeti.singularValues_comp_adjoint_linearIsometry {๐•œ : Type u_1} {E : Type u_2} [RCLike ๐•œ] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] {D : Type u_4} {F : Type u_5} [NormedAddCommGroup D] [InnerProductSpace ๐•œ D] [FiniteDimensional ๐•œ D] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [FiniteDimensional ๐•œ F] (ฮน : D โ†’โ‚—แตข[๐•œ] E) (X : D โ†’โ‚—[๐•œ] F) :

    Precomposing with the adjoint of a linear isometric embedding preserves singular values, with the additional ambient-domain slots padded by zero.

    This is the reusable coisometry-padding theorem behind the principal-angle embedding and rectangular zero extension. The analytic content is independent of the eventual Davis--Kahan application: the Gram operator is conjugated onto the isometry range and vanishes on its orthogonal complement.