Documentation

TauCeti.RepresentationTheory.Compact.Convolution

Convolution operators on Lยฒ of a compact group #

For a continuous kernel k : C(G, ๐•œ) on a compact group G and an Lยฒ function f, the convolution

(k * f) x = โˆซ y, k (x * yโปยน) * f y โˆ‚(haarProb G)

makes sense at every point x, not merely almost everywhere: the integral is the Lยฒ pairing of f against the continuous function y โ†ฆ conj (k (x * yโปยน)), and that function varies continuously with x in the uniform norm. Convolution therefore smooths Lยฒ(G) into C(G), and the resulting map convolutionCLM k : Lยฒ(G) โ†’L[๐•œ] C(G) is bounded by the uniform norm of the kernel.

Composing with ContinuousMap.toLp gives the convolution operator convolutionOperator k on Lยฒ(G). Its properties are proved here: it is self-adjoint when the kernel is symmetric (k gโปยน = conj (k g)), it commutes with right translation, and it is a compact operator. Together these say that the eigenspace of a symmetric convolution operator at a nonzero eigenvalue is a finite-dimensional right-translation-invariant subspace of Lยฒ(G) all of whose elements have continuous representatives, and that such eigenspaces exist; the eigenspaces at all eigenvalues, the possibly infinite-dimensional kernel included, together span a dense subspace. This is how the Peter-Weyl theorem manufactures finite-dimensional representations of G without presupposing that any exist.

Main definitions #

Main statements #

Implementation notes #

Compactness is read off the same kernel sections, with no separate uniform-continuity argument: the value (k * f) x is the Lยฒ pairing of f against the section at x, and the sections depend continuously on x in the uniform norm, so the images of the unit ball are equicontinuous by inspection. Arzelร -Ascoli (BoundedContinuousFunction.arzela_ascoli) then applies, in G โ†’แต‡ ๐•œ, to which C(G, ๐•œ) is isometric because G is compact.

Mathlib's convolution (Mathlib/Analysis/Convolution.lean) is the convolution of two functions on an additive group against a bilinear pairing, and does not apply here: G is multiplicative, and one of the two arguments is an Lยฒ class rather than a function. The kernel sections y โ†ฆ conj (k (x * yโปยน)) are assembled with ContinuousMap.curry, whose continuity is exactly the statement that they depend continuously on x, so no uniform-continuity argument is needed.

Self-adjointness is proved by writing convolutionOperator k H, for a continuous H, as the Bochner integral of the kernel sections weighted by H, and then extending to all of Lยฒ(G) by density (ContinuousMap.toLp_denseRange). The more direct Fubini argument on G ร— G is not available: the product of two Borel spaces is Borel only under a second-countability hypothesis, which a compact group need not satisfy, whereas a continuous function on a compact space is integrable with no such hypothesis (TauCeti.integrable_continuousMap).

The conjugation in the kernel sections is bookkeeping for Mathlib's convention that the inner product is conjugate linear in its first argument; it is invisible in the pointwise formula convolutionCLM_apply_apply.

References #

This is the opening of Layer 5 of the compact-groups roadmap, which names convolutionOperator, its self-adjointness for a symmetric kernel (there spelled convolutionOperator_isSelfAdjoint, renamed here to isSelfAdjoint_convolutionOperator for the predicate-prefix convention), its compactness (convolutionOperator_isCompact) and the finite dimensionality of its nonzero eigenspaces (convolutionOperator_eigenspace_finiteDimensional) as milestones on the non-circular route to the Peter-Weyl theorem.

Preliminaries on Lยฒ against normalized Haar measure #

The kernel sections #

The section of the kernel k at x is y โ†ฆ conj (k (x * yโปยน)). Currying the continuous function (x, y) โ†ฆ conj (k (x * yโปยน)) on G ร— G is exactly the statement that the section depends continuously on x in the uniform norm.

Convolution as a map into continuous functions #

noncomputable def TauCeti.convolutionCLM {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) :
โ†ฅ(MeasureTheory.Lp ๐•œ 2 (haarProb G)) โ†’L[๐•œ] C(G, ๐•œ)

Convolution against a continuous kernel, as a bounded linear map from Lยฒ(G) into C(G).

The value at x is the Lยฒ pairing of f against the kernel section at x, so it is defined at every point of G and depends continuously on that point: convolving an Lยฒ class against a continuous kernel produces a genuine continuous function, not another almost-everywhere class.

Equations
Instances For
    theorem TauCeti.convolutionCLM_apply_apply {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) (f : โ†ฅ(MeasureTheory.Lp ๐•œ 2 (haarProb G))) (x : G) :
    ((convolutionCLM k) f) x = โˆซ (y : G), k (x * yโปยน) * โ†‘โ†‘f y โˆ‚haarProb G

    The pointwise formula for convolution against a continuous kernel.

    theorem TauCeti.convolutionCLM_toLp_apply {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k f : C(G, ๐•œ)) (x : G) :
    ((convolutionCLM k) ((ContinuousMap.toLp 2 (haarProb G) ๐•œ) f)) x = โˆซ (z : G), k z * f (zโปยน * x) โˆ‚haarProb G

    Convolution written by translating the function rather than the kernel: (k * f) x = โˆซ z, k z * f (zโปยน * x).

    This form follows from TauCeti.convolutionCLM_apply_apply by the substitution y = zโปยน * x, which preserves normalized Haar measure because it is inversion followed by right translation.

    theorem TauCeti.convolutionCLM_toLp_sub_apply {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k f : C(G, ๐•œ)) (hk : โˆซ (g : G), k g โˆ‚haarProb G = 1) (x : G) :
    ((convolutionCLM k) ((ContinuousMap.toLp 2 (haarProb G) ๐•œ) f)) x - f x = โˆซ (z : G), k z * (f (zโปยน * x) - f x) โˆ‚haarProb G

    The error of an approximation of f by k * f, when the kernel k has unit mass: the average against k of the increments of f.

    @[simp]
    theorem TauCeti.convolutionCLM_zero {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] :

    Convolution is zero when its kernel is zero.

    @[simp]
    theorem TauCeti.convolutionCLM_add {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (kโ‚ kโ‚‚ : C(G, ๐•œ)) :
    convolutionCLM (kโ‚ + kโ‚‚) = convolutionCLM kโ‚ + convolutionCLM kโ‚‚

    Convolution is additive in its kernel.

    @[simp]
    theorem TauCeti.convolutionCLM_smul {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (c : ๐•œ) (k : C(G, ๐•œ)) :

    Convolution is compatible with scalar multiplication of its kernel.

    theorem TauCeti.norm_convolutionCLM_apply_le {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) (f : โ†ฅ(MeasureTheory.Lp ๐•œ 2 (haarProb G))) :

    Convolution is bounded from Lยฒ(G) into C(G): the uniform norm of k * f is at most the product of the uniform norm of the kernel and the Lยฒ norm of f. Normalized Haar measure is a probability measure, so no measure-dependent constant appears.

    The operator norm of convolution against k, as a map into the uniform norm of C(G), is at most the uniform norm of k.

    The convolution operator on Lยฒ(G) #

    noncomputable def TauCeti.convolutionOperator {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) :
    โ†ฅ(MeasureTheory.Lp ๐•œ 2 (haarProb G)) โ†’L[๐•œ] โ†ฅ(MeasureTheory.Lp ๐•œ 2 (haarProb G))

    The convolution operator f โ†ฆ k * f on Lยฒ(G), for a continuous kernel k.

    It factors through C(G): convolutionCLM produces a continuous function, and ContinuousMap.toLp reads that function back into Lยฒ(G).

    Equations
    Instances For
      theorem TauCeti.convolutionOperator_apply {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) (f : โ†ฅ(MeasureTheory.Lp ๐•œ 2 (haarProb G))) :

      The convolution operator is convolutionCLM followed by ContinuousMap.toLp.

      @[simp]

      The convolution operator is zero when its kernel is zero.

      @[simp]
      theorem TauCeti.convolutionOperator_add {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (kโ‚ kโ‚‚ : C(G, ๐•œ)) :
      convolutionOperator (kโ‚ + kโ‚‚) = convolutionOperator kโ‚ + convolutionOperator kโ‚‚

      The convolution operator is additive in its kernel.

      @[simp]
      theorem TauCeti.convolutionOperator_smul {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (c : ๐•œ) (k : C(G, ๐•œ)) :

      The convolution operator is compatible with scalar multiplication of its kernel.

      theorem TauCeti.coeFn_convolutionOperator {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) (f : โ†ฅ(MeasureTheory.Lp ๐•œ 2 (haarProb G))) :
      โ†‘โ†‘((convolutionOperator k) f) =แต[haarProb G] โ‡‘((convolutionCLM k) f)

      The convolution operator is represented, almost everywhere, by the continuous function convolutionCLM k f.

      The convolution operator on Lยฒ(G) has operator norm at most the uniform norm of its kernel.

      Self-adjointness for a symmetric kernel #

      For a continuous weight H the kernel sections may be averaged against H, giving a Bochner integral in C(G) and, after ContinuousMap.toLp, one in Lยฒ(G). Symmetry of the kernel identifies that average with k * H, which is the adjoint relation on the dense subspace of continuous functions; the general case follows because both sides of the relation are continuous in their second argument.

      theorem TauCeti.isSelfAdjoint_convolutionOperator {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) (hk : โˆ€ (g : G), k gโปยน = (starRingEnd ๐•œ) (k g)) :

      Self-adjointness of the convolution operator for a symmetric kernel. A kernel is symmetric when k gโปยน = conj (k g); the pointwise identity conj (k (x * yโปยน)) = k (y * xโปยน) it supplies is what turns the average of the kernel sections weighted by H back into k * H.

      Equivariance under right translation #

      theorem TauCeti.convolutionCLM_compMeasurePreserving_mul_right {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) (f : โ†ฅ(MeasureTheory.Lp ๐•œ 2 (haarProb G))) (gโ‚€ x : G) :
      ((convolutionCLM k) ((MeasureTheory.Lp.compMeasurePreserving (fun (x : G) => x * gโ‚€) โ‹ฏ) f)) x = ((convolutionCLM k) f) (x * gโ‚€)

      Convolution commutes with right translation. Translating f on the right by gโ‚€ and then convolving is the same as convolving and then translating the result, because the kernel (x, y) โ†ฆ k (x * yโปยน) is unchanged by right translation of both variables.

      This is what makes every eigenspace of a convolution operator a right-translation-invariant subspace of Lยฒ(G), hence, once the eigenspace is known to be finite-dimensional, the carrier of a finite-dimensional representation of G.

      theorem TauCeti.convolutionOperator_compMeasurePreserving_mul_right {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) (f : โ†ฅ(MeasureTheory.Lp ๐•œ 2 (haarProb G))) (gโ‚€ : G) :
      (convolutionOperator k) ((MeasureTheory.Lp.compMeasurePreserving (fun (x : G) => x * gโ‚€) โ‹ฏ) f) = (MeasureTheory.Lp.compMeasurePreserving (fun (x : G) => x * gโ‚€) โ‹ฏ) ((convolutionOperator k) f)

      The convolution operator commutes with right translation on Lยฒ(G). This is convolutionCLM_compMeasurePreserving_mul_right read in Lยฒ(G); it is the form in which the eigenspaces of convolutionOperator k are seen to be right-translation-invariant.

      Compactness of the convolution operator #

      Convolution against a continuous kernel carries the closed unit ball of Lยฒ(G) to a family of continuous functions bounded by โ€–kโ€– and equicontinuous: the increment of k * f between two points is controlled by the distance between the corresponding kernel sections, uniformly in f. The Arzelร -Ascoli theorem makes that family relatively compact in C(G), hence in Lยฒ(G).

      theorem TauCeti.isCompactOperator_convolutionCLM {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) :

      Convolution against a continuous kernel is a compact operator from Lยฒ(G) to C(G).

      The unit ball of Lยฒ(G) is carried to a uniformly bounded equicontinuous family of continuous functions, which Arzelร -Ascoli makes relatively compact for the uniform norm.

      The convolution operator on Lยฒ(G) is compact. It factors through the uniform norm of C(G), where isCompactOperator_convolutionCLM already gives compactness, and reading a continuous function back into Lยฒ(G) is bounded.

      The eigenspaces of a convolution operator #

      Compactness bounds the dimension of each nonzero eigenspace; the pointwise formula shows every eigenvector at a nonzero eigenvalue is a continuous function; and equivariance makes the eigenspaces right-translation invariant. Together these are the three properties that turn a symmetric convolution operator into a source of finite-dimensional representations of G. The eigenspace at 0 is the complementary case: it convolves to nothing at all.

      theorem TauCeti.finiteDimensional_eigenspace_convolutionOperator {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) {ฮผ : ๐•œ} (hฮผ : ฮผ โ‰  0) :
      FiniteDimensional ๐•œ โ†ฅ(Module.End.eigenspace (โ†‘(convolutionOperator k)) ฮผ)

      A nonzero eigenspace of a convolution operator is finite-dimensional, because the operator is compact.

      theorem TauCeti.ae_eq_smul_convolutionCLM_of_mem_eigenspace {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) {ฮผ : ๐•œ} (hฮผ : ฮผ โ‰  0) {f : โ†ฅ(MeasureTheory.Lp ๐•œ 2 (haarProb G))} (hf : f โˆˆ Module.End.eigenspace (โ†‘(convolutionOperator k)) ฮผ) :
      โ†‘โ†‘f =แต[haarProb G] ฮผโปยน โ€ข โ‡‘((convolutionCLM k) f)

      Eigenvectors at a nonzero eigenvalue are continuous. An eigenvector f is ฮผโปยน times its own convolution k * f, and the latter is a genuine continuous function on G, not merely an almost-everywhere class. This supplies the continuous representatives that the later construction of the representative ring needs; membership in that ring additionally requires realizing the finite-dimensional invariant eigenspace as a continuous representation.

      theorem TauCeti.convolutionCLM_eq_zero_of_mem_eigenspace_zero {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) {f : โ†ฅ(MeasureTheory.Lp ๐•œ 2 (haarProb G))} (hf : f โˆˆ Module.End.eigenspace (โ†‘(convolutionOperator k)) 0) :

      Convolving a 0-eigenvector gives the zero function. The convolution operator factors as ContinuousMap.toLp after convolutionCLM, and ContinuousMap.toLp is injective because normalized Haar measure is positive on nonempty open sets. This is the complement of ae_eq_smul_convolutionCLM_of_mem_eigenspace, which describes the eigenvectors at a nonzero eigenvalue.

      theorem TauCeti.compMeasurePreserving_mul_right_mem_eigenspace_convolutionOperator {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) (ฮผ : ๐•œ) (gโ‚€ : G) {f : โ†ฅ(MeasureTheory.Lp ๐•œ 2 (haarProb G))} (hf : f โˆˆ Module.End.eigenspace (โ†‘(convolutionOperator k)) ฮผ) :
      (MeasureTheory.Lp.compMeasurePreserving (fun (x : G) => x * gโ‚€) โ‹ฏ) f โˆˆ Module.End.eigenspace (โ†‘(convolutionOperator k)) ฮผ

      The eigenspaces of a convolution operator are invariant under right translation, because the operator commutes with right translation.

      The spectral consequences for a symmetric kernel #

      For a symmetric kernel the convolution operator is both compact and self-adjoint, so Mathlib's spectral theory of compact self-adjoint operators applies to it. Two consequences matter for Peter-Weyl: unless the operator vanishes it has a nonzero eigenvalue, and its eigenspaces together span a dense subspace of Lยฒ(G).

      theorem TauCeti.exists_hasEigenvalue_ne_zero_convolutionOperator {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) (hk : โˆ€ (g : G), k gโปยน = (starRingEnd ๐•œ) (k g)) (hne : convolutionOperator k โ‰  0) :
      โˆƒ (ฮผ : ๐•œ), ฮผ โ‰  0 โˆง Module.End.HasEigenvalue (โ†‘(convolutionOperator k)) ฮผ

      A nonzero symmetric convolution operator has a nonzero eigenvalue. For a compact self-adjoint operator the spectral radius is the operator norm and every nonzero spectral value is an eigenvalue, so a nonzero operator cannot have 0 as its only eigenvalue.

      This is where finite-dimensional representations of G come from: by the results above, the eigenspace at such a ฮผ is a nonzero, finite-dimensional, right-translation-invariant subspace of Lยฒ(G) all of whose elements are continuous. No point-separation property of G is used, so nothing is smuggled in from the Peter-Weyl theorem itself.

      theorem TauCeti.orthogonalComplement_iSup_eigenspaces_convolutionOperator_eq_bot {๐•œ : Type u_1} {G : Type u_2} [RCLike ๐•œ] [Group G] [TopologicalSpace G] [IsTopologicalGroup G] [CompactSpace G] [MeasurableSpace G] [BorelSpace G] (k : C(G, ๐•œ)) (hk : โˆ€ (g : G), k gโปยน = (starRingEnd ๐•œ) (k g)) :
      (โจ† (ฮผ : ๐•œ), Module.End.eigenspace (โ†‘(convolutionOperator k)) ฮผ)แ—ฎ = โŠฅ

      The spectral theorem for a symmetric convolution operator: its eigenspaces span a dense subspace of Lยฒ(G), in the sense that their supremum has trivial orthogonal complement. Together with finiteDimensional_eigenspace_convolutionOperator this says that Lยฒ(G) is exhausted, up to the kernel of the operator, by finite-dimensional translation-invariant subspaces.