Documentation

LeanPool.DavisKahan.Palomar.DKSectionTwo.SolutionPrelude

Davis--Kahan 1970: the four Section 2 theorems #

The namespace is RotationOfEigenvectors, after the paper's title. Everything below is ordinary Mathlib vocabulary; the only non-Mathlib names are the source objects defined here.

Two conventions, stated once. There is no functional calculus anywhere: a unitarily invariant norm sees only the singular-value sequence, so every angle quantity is either an explicit block of orthogonal projections or a sequence of trigonometric functions of singular values. And โ€–tan ฮ˜โ€– is evaluated on the tangent sequence, with each tangent theorem concluding that the tangent has no pole rather than assuming it away.

1. Singular values #

noncomputable def RotationOfEigenvectors.singularValue {๐•œ : Type u} [NontriviallyNormedField ๐•œ] {E : Type v} [SeminormedAddCommGroup E] [NormedSpace ๐•œ E] {F : Type w} [SeminormedAddCommGroup F] [NormedSpace ๐•œ F] (T : E โ†’L[๐•œ] F) (n : โ„•) :

The n-th singular value of a bounded operator, zero-based: the operator-norm distance from T to the operators of rank at most n. aโ‚€ T = โ€–Tโ€–, and for a compact operator this is the usual decreasing sequence.

Equations
Instances For

    2. The symmetric-norming presentation of the source norm quantifier #

    The paper quantifies over arbitrary normalized unitarily invariant norms. This Challenge uses the canonical dimension-coherent symmetric-norming presentation: a two-sided unitarily invariant seminorm on n ร— n complex matrices in every dimension, normalized on rank one and unchanged by appending a zero singular value, extended to operators through approximation singular values.

    This Lean type is not literally the entire source norm class in infinite dimension. The included formalization proves, via the strong Fan-dominance criterion used by Davis and Kahan, that the inequalities quantified over all such symmetric norming functions are equivalent to the corresponding universal unitarily invariant norm estimates. In particular the formal development also covers Fan-dominant norms not generated by a symmetric gauge. The distinction is recorded explicitly in formalization.yaml; it is a presentation choice, not a claim that the two norm types are definitionally identical.

    The operator with real diagonal x in an orthonormal basis.

    Equations
    Instances For

      A two-sided unitarily invariant seminorm on the operators of a finite-dimensional complex inner product space.

      Instances For

        The symmetric gauge: the seminorm's value on the diagonal operator.

        Equations
        Instances For
          def RotationOfEigenvectors.zeroPad {n : โ„•} (x : Fin n โ†’ โ„) :
          Fin (n + 1) โ†’ โ„

          Append one trailing zero to a finite vector of singular values.

          Equations
          Instances For

            A dimension-coherent normalized symmetric norming function.

            This is the Challenge's canonical presentation of the source norm quantifier. The source's broader unitary-invariant-norm class is related to it by the formalized Fan-dominance equivalence described above.

            Instances For

              The extended symmetric-norming value of a scalar sequence: the supremum over its finite prefixes. A norm of tan ฮ˜ is evaluated on the sequence tan ฮธโ‚, tan ฮธโ‚‚, โ€ฆ.

              Equations
              Instances For

                The sequence lies in the norm's ideal.

                Equations
                Instances For

                  The real-valued norm of a sequence, meaningful on the ideal.

                  Equations
                  Instances For
                    noncomputable def RotationOfEigenvectors.SymmetricNormingFunction.eval {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {F : Type v} [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] (N : SymmetricNormingFunction) (T : E โ†’L[๐•œ] F) :

                    The symmetric-norming extended value on an operator: its value on the singular-value sequence, and โŠค exactly off the associated ideal.

                    Equations
                    Instances For
                      def RotationOfEigenvectors.SymmetricNormingFunction.Finite {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {F : Type v} [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] (N : SymmetricNormingFunction) (T : E โ†’L[๐•œ] F) :

                      The operator lies in the norm's ideal.

                      Equations
                      Instances For
                        noncomputable def RotationOfEigenvectors.SymmetricNormingFunction.norm {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {F : Type v} [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] (N : SymmetricNormingFunction) (T : E โ†’L[๐•œ] F) :

                        The real-valued norm, meaningful on the ideal.

                        Equations
                        Instances For

                          A subspace with an orthogonal projection is closed, hence complete.

                          3. The paper's block data #

                          Section 1 fixes a self-adjoint A, a bounded self-adjoint perturbation H, and two reducing decompositions: Eโ‚€ spans the trial subspace with block Aโ‚€, and Fโ‚€, Fโ‚ span the exact subspaces of A + H with complementary block ฮ›โ‚. The residual is R = (A + H) Eโ‚€ โˆ’ Eโ‚€ Aโ‚€. Neither decomposition is assumed spectral.

                          def RotationOfEigenvectors.IsIsometric {๐•œ : Type u} [RCLike ๐•œ] {E F : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] (T : E โ†’L[๐•œ] F) :

                          A coordinate map is an isometry onto its range.

                          Equations
                          Instances For
                            structure RotationOfEigenvectors.IsTrialResidual {๐•œ : Type u} [RCLike ๐•œ] {E F : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] (A : E โ†’โ‚—.[๐•œ] E) (Aโ‚€ : F โ†’โ‚—.[๐•œ] F) (Eโ‚€ R : F โ†’L[๐•œ] E) :

                            The trial-coordinate half of the setup: Eโ‚€ is an isometric coordinate map for the trial subspace and R the residual A Eโ‚€ โˆ’ Eโ‚€ Aโ‚€; Aโ‚€ is a partial map, so it may be unbounded.

                            • isometry : IsIsometric Eโ‚€

                              The trial coordinate map is isometric.

                            • mapsDomain (x : โ†ฅAโ‚€.domain) : Eโ‚€ โ†‘x โˆˆ A.domain

                              It carries the trial domain into the ambient domain.

                            • residualEquation (x : โ†ฅAโ‚€.domain) : โ†‘A โŸจEโ‚€ โ†‘x, โ‹ฏโŸฉ - Eโ‚€ (โ†‘Aโ‚€ x) = R โ†‘x

                              R is the residual there.

                            Instances For
                              structure RotationOfEigenvectors.IsExactDecomposition {๐•œ : Type u} [RCLike ๐•œ] {E G K : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup G] [InnerProductSpace ๐•œ G] [CompleteSpace G] [NormedAddCommGroup K] [InnerProductSpace ๐•œ K] [CompleteSpace K] (A : E โ†’โ‚—.[๐•œ] E) (ฮ›โ‚ : G โ†’โ‚—.[๐•œ] G) (Fโ‚€ : K โ†’L[๐•œ] E) (Fโ‚ : G โ†’L[๐•œ] E) :

                              The exact-coordinate half: Fโ‚€ and Fโ‚ are complementary exhaustive isometries and Fโ‚ intertwines A with the complementary block ฮ›โ‚.

                              Instances For
                                structure RotationOfEigenvectors.TrialBlock {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] (A : E โ†’โ‚—.[๐•œ] E) (U : Submodule ๐•œ E) [U.HasOrthogonalProjection] :

                                The trial data of a subspace, in the source's own shape (1.8): a trial operator Aโ‚€ on the subspace, possibly unbounded, and a bounded residual R with A z = Aโ‚€ z + R z on the trial domain. The compression is a partial map because the Appendix to Section 6 allows the tangent theorem's Aโ‚€ to be unbounded.

                                Instances For
                                  structure RotationOfEigenvectors.BoundedTrialBlock {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] (A : E โ†’โ‚—.[๐•œ] E) (U : Submodule ๐•œ E) [U.HasOrthogonalProjection] :

                                  The trial data of a subspace with a bounded compression, in the source's shape (1.8): a bounded self-adjoint Aโ‚€ on a trial subspace inside dom A, and a bounded residual R with A z = Aโ‚€ z + R z there.

                                  The Appendix to Section 6 relaxes the sine family -- the sin ฮ˜ theorem, Proposition 6.1 and Theorem 6.1 -- to allow one of Aโ‚€, ฮ›โ‚ to be unbounded, and reserves "both may be unbounded" for the tangent theorem. Here the unwanted exact block is the unbounded one.

                                  • compression : โ†ฅU โ†’L[๐•œ] โ†ฅU

                                    The trial block Aโ‚€, bounded on the trial subspace.

                                  • compression_selfAdjoint : IsSelfAdjoint self.compression

                                    Aโ‚€ is self-adjoint.

                                  • residual : โ†ฅU โ†’L[๐•œ] E

                                    The bounded residual R.

                                  • mem_domain (z : โ†ฅU) : โ†‘z โˆˆ A.domain

                                    The trial subspace lies inside the ambient domain.

                                  • action_eq (z : โ†ฅU) : โ†‘A โŸจโ†‘z, โ‹ฏโŸฉ = โ†‘(self.compression z) + self.residual z

                                    and there A z = Aโ‚€ z + R z, which is (1.8).

                                  Instances For
                                    structure RotationOfEigenvectors.RitzData {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] (A : E โ†’โ‚—.[๐•œ] E) (U : Submodule ๐•œ E) [U.HasOrthogonalProjection] extends RotationOfEigenvectors.TrialBlock A U :

                                    Rayleigh--Ritz trial data: trial data whose residual is orthogonal to the trial subspace. This is the source's Hโ‚€ = 0 in the form (1.8) takes when Aโ‚€ = Eโ‚€^*(A+H)Eโ‚€, the extra hypothesis the tan ฮ˜ theorem imposes and the sin ฮ˜ and sin 2ฮ˜ theorems do not.

                                    Instances For

                                      4. The source separation #

                                      def RotationOfEigenvectors.realResolventSet {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (A : E โ†’โ‚—.[๐•œ] E) :

                                      The real resolvent set: the shifted operator has a bounded two-sided inverse.

                                      Equations
                                      Instances For
                                        def RotationOfEigenvectors.realSpectrum {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (A : E โ†’โ‚—.[๐•œ] E) :

                                        The real spectrum.

                                        Equations
                                        Instances For
                                          def RotationOfEigenvectors.SemiboundedBelow {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (A : E โ†’โ‚—.[๐•œ] E) (c : โ„) :

                                          The quadratic form of A is at least c on its domain.

                                          Equations
                                          Instances For
                                            def RotationOfEigenvectors.SemiboundedAbove {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (A : E โ†’โ‚—.[๐•œ] E) (c : โ„) :

                                            The quadratic form of A is at most c on its domain.

                                            Equations
                                            Instances For
                                              inductive RotationOfEigenvectors.SylvesterGap {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {F : Type v} [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] (A : E โ†’โ‚—.[๐•œ] E) (B : F โ†’โ‚—.[๐•œ] F) (ฮด : โ„) :

                                              The source separation of two blocks by a gap of width ฮด. intervalExterior is the printed interval/exterior condition, symmetric in the two blocks; the two ordered constructors are the half-infinite configurations the source explicitly permits, in which both blocks may have unbounded spectrum.

                                              Instances For
                                                inductive RotationOfEigenvectors.SinTwoThetaGap {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {F : Type v} [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] (A : E โ†’โ‚—.[๐•œ] E) (B : F โ†’โ‚—.[๐•œ] F) (ฮด : โ„) :

                                                The oriented separation printed in the sin 2ฮ˜ theorem. The first block is the source's ฮ›โ‚€ and the second is ฮ›โ‚: for a finite interval, ฮ›โ‚€ lies inside [ฮฒ, ฮฑ] while ฮ›โ‚ lies outside the enlarged open interval (ฮฒ - ฮด, ฮฑ + ฮด). The second constructor is exactly the lower half-line extension stated immediately after the four Section 2 theorems. This is intentionally narrower than SylvesterGap, whose interval constructor is symmetric and is appropriate for the printed sin ฮ˜ theorem.

                                                Instances For

                                                  5. Reducing subspaces and their blocks #

                                                  Section 1 says in as many words that neither P nor Q is assumed to be a spectral projector: what the theorems assume is that the decomposition reduces the operator and that its two blocks are separated.

                                                  def RotationOfEigenvectors.Reduces {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (A : E โ†’โ‚—.[๐•œ] E) (U : Submodule ๐•œ E) [U.HasOrthogonalProjection] :

                                                  A subspace reduces a partial map when both projections preserve its domain and both summands are invariant.

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For
                                                    noncomputable def RotationOfEigenvectors.block {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (A : E โ†’โ‚—.[๐•œ] E) (U : Submodule ๐•œ E) [U.HasOrthogonalProjection] (h : Reduces A U) :
                                                    โ†ฅU โ†’โ‚—.[๐•œ] โ†ฅU

                                                    The block of A on a reducing subspace.

                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For
                                                      noncomputable def RotationOfEigenvectors.addBounded {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (A : E โ†’โ‚—.[๐•œ] E) (V : E โ†’L[๐•œ] E) :
                                                      E โ†’โ‚—.[๐•œ] E

                                                      Adding a bounded operator to a partial map, on the same domain.

                                                      Equations
                                                      Instances For
                                                        theorem RotationOfEigenvectors.Reduces.orthogonal {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] {A : E โ†’โ‚—.[๐•œ] E} {U : Submodule ๐•œ E} [U.HasOrthogonalProjection] (h : Reduces A U) :

                                                        The orthogonal complement of a reducing subspace also reduces the operator, so the ambient separation hypothesis can name both blocks.

                                                        6. The angle quantities #

                                                        The sines are explicit operators; the tangents are sequences, โ€–tan ฮ˜โ€– being the norm's value on tan ฮธโ‚, tan ฮธโ‚‚, โ€ฆ.

                                                        noncomputable def RotationOfEigenvectors.directedSine {๐•œ : Type u} [RCLike ๐•œ] {E F K : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [CompleteSpace E] [NormedAddCommGroup F] [InnerProductSpace ๐•œ F] [NormedAddCommGroup K] [InnerProductSpace ๐•œ K] [CompleteSpace K] (Eโ‚€ : F โ†’L[๐•œ] E) (Fโ‚€ : K โ†’L[๐•œ] E) :
                                                        F โ†’L[๐•œ] E

                                                        sin ฮ˜โ‚€ in coordinates: the part of the trial coordinate map that misses the exact subspace, the source's Q^โŠฅEโ‚€.

                                                        Equations
                                                        Instances For
                                                          noncomputable def RotationOfEigenvectors.directedSineBlock {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (U V : Submodule ๐•œ E) [V.HasOrthogonalProjection] :
                                                          โ†ฅU โ†’L[๐•œ] E

                                                          sin ฮ˜โ‚€ for a trial subspace: Q^โŠฅEโ‚€ = P_{Vแ—ฎ}|_U.

                                                          Equations
                                                          Instances For
                                                            noncomputable def RotationOfEigenvectors.ambientSine {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (U V : Submodule ๐•œ E) [U.HasOrthogonalProjection] [V.HasOrthogonalProjection] :
                                                            E โ†’L[๐•œ] E

                                                            sin ฮ˜, the ambient sine: the projector difference, whose singular values are the sines of the principal angles, each occurring twice.

                                                            Equations
                                                            Instances For
                                                              noncomputable def RotationOfEigenvectors.ambientDoubleSine {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (U V : Submodule ๐•œ E) [U.HasOrthogonalProjection] [V.HasOrthogonalProjection] :
                                                              E โ†’L[๐•œ] E

                                                              sin 2ฮ˜, the ambient double-angle sine: the projector difference between U and its mirror image in V. Reflecting U in V doubles every principal angle.

                                                              Equations
                                                              Instances For
                                                                noncomputable def RotationOfEigenvectors.directedDoubleSine {๐•œ : Type u} [RCLike ๐•œ] {E : Type v} [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] (U V : Submodule ๐•œ E) [U.HasOrthogonalProjection] [V.HasOrthogonalProjection] :
                                                                E โ†’L[๐•œ] E

                                                                sin 2ฮ˜โ‚€, the directed double-angle sine.

                                                                Equations
                                                                Instances For

                                                                  Tangents of an angle presented by its sine #

                                                                  The argument of tanSeq is always a sine: tan ฮ˜โ‚€ is a trigonometric function of the angle, presented here by an operator whose singular values are its sines. The residual is the right-hand side and has nothing to do with the left.

                                                                  A doubled angle is presented by its own sine, never by doubling the ordered sines of the single angle. ฮธ โ†ฆ sin 2ฮธ is not monotone on [0, ฯ€/2], so n โ†ฆ sin (2 arcsin (aโ‚™(sin ฮ˜))) need not be the ordered singular-value sequence of sin 2ฮ˜ -- at principal angles 75ยฐ and 30ยฐ the two sequences are in opposite order. The tan 2ฮ˜ clauses below therefore read the doubled tangent off ambientDoubleSine and directedDoubleSine, through the same monotone u โ†ฆ tan (arcsin u) that tan ฮ˜ uses, and |tan 2ฮธ| = tan (arcsin |sin 2ฮธ|) supplies the source's absolute value with no branch choice.

                                                                  noncomputable def RotationOfEigenvectors.tanSeq {๐•œ : Type u} [RCLike ๐•œ] {X Y : Type v} [NormedAddCommGroup X] [InnerProductSpace ๐•œ X] [NormedAddCommGroup Y] [InnerProductSpace ๐•œ Y] (S : X โ†’L[๐•œ] Y) (n : โ„•) :

                                                                  The sequence tan ฮธโ‚€, tan ฮธโ‚, โ€ฆ, where sin ฮธโ‚™ is the n-th singular value of the sine operator S.

                                                                  Equations
                                                                  Instances For
                                                                    def RotationOfEigenvectors.TangentDefined {๐•œ : Type u} [RCLike ๐•œ] {X Y : Type v} [NormedAddCommGroup X] [InnerProductSpace ๐•œ X] [NormedAddCommGroup Y] [InnerProductSpace ๐•œ Y] (S : X โ†’L[๐•œ] Y) :

                                                                    No principal angle of S is a right angle, so every tan ฮธโ‚™ is a genuine tangent rather than the value Lean's field division assigns at a pole. Equivalently โ€–Sโ€– < 1, since aโ‚€ S = โ€–Sโ€–. Davis and Kahan derive this rather than assuming it, so it appears below as a conclusion -- for the double-angle clauses too, where S is the double-angle sine and the condition is the quarter-turn exclusion โ€–sin 2ฮ˜โ€– < 1.

                                                                    Equations
                                                                    Instances For