Documentation

Mathlib.Analysis.Fourier.AddCircleMulti

Multivariate Fourier series #

In this file we define the Fourier series of an Lยฒ function on the d-dimensional unit circle, and show that it converges to the function in the Lยฒ norm. We also prove uniform convergence of the Fourier series if f is continuous and the sequence of its Fourier coefficients is summable.

@[implicit_reducible]

In this file we normalise the measure on โ„ / โ„ค to have total volume 1.

Instances For
    @[reducible, inline]
    abbrev UnitAddTorus (d : Type u_1) :
    Type u_1

    The product of finitely many copies of the unit circle, indexed by d.

    Instances For
      noncomputable def UnitAddTorus.mFourier {d : Type u_1} [Fintype d] (n : d โ†’ โ„ค) :

      Exponential monomials in d variables.

      Instances For
        theorem UnitAddTorus.mFourier_neg {d : Type u_1} [Fintype d] {n : d โ†’ โ„ค} {x : UnitAddTorus d} :
        theorem UnitAddTorus.mFourier_add {d : Type u_1} [Fintype d] {n : d โ†’ โ„ค} {x : UnitAddTorus d} {m : d โ†’ โ„ค} :
        (mFourier (m + n)) x = (mFourier m) x * (mFourier n) x
        theorem UnitAddTorus.mFourier_norm {d : Type u_1} [Fintype d] {n : d โ†’ โ„ค} :
        theorem UnitAddTorus.mFourier_single {d : Type u_1} [Fintype d] [DecidableEq d] (z : d โ†’ AddCircle 1) (i : d) :
        (mFourier (Pi.single i 1)) z = (fourier 1) (z i)

        The star subalgebra of C(UnitAddTorus d, โ„‚) generated by mFourier n for n โˆˆ โ„คแตˆ.

        Instances For

          The star subalgebra of C(UnitAddTorus d, โ„‚) generated by mFourier n for n โˆˆ โ„คแตˆ is in fact the linear span of these functions.

          The subalgebra of C(UnitAddTorus d, โ„‚) generated by mFourier n for n โˆˆ โ„คแตˆ separates points.

          The subalgebra of C(UnitAddTorus d, โ„‚) generated by mFourier n for n : d โ†’ โ„ค is dense.

          The linear span of the monomials mFourier n is dense in C(UnitAddTorus d, โ„‚).

          noncomputable def UnitAddTorus.measurableEquivPiIoc {ฮน : Type u_2} (b : ฮน โ†’ โ„) :
          UnitAddTorus ฮน โ‰ƒแต { x : ฮน โ†’ โ„ // โˆ€ (i : ฮน), x i โˆˆ Set.Ioc (b i) (b i + 1) }

          The measurable equivalence between UnitAddTorus and a product of Ioc intervals.

          Instances For
            theorem UnitAddTorus.coe_measurableEquivPiIoc {ฮน : Type u_2} (b : ฮน โ†’ โ„) :
            โ‡‘(measurableEquivPiIoc b) = fun (x : UnitAddTorus ฮน) => โŸจfun (i : ฮน) => โ†‘((AddCircle.equivIoc 1 (b i)) (x i)), โ‹ฏโŸฉ
            @[simp]
            theorem UnitAddTorus.coe_measurableEquivPiIoc_apply {ฮน : Type u_2} (b : ฮน โ†’ โ„) (x : UnitAddTorus ฮน) :
            (measurableEquivPiIoc b) x = โŸจfun (i : ฮน) => โ†‘((AddCircle.equivIoc 1 (b i)) (x i)), โ‹ฏโŸฉ
            theorem UnitAddTorus.coe_symm_measurableEquivPiIoc {ฮน : Type u_2} (b : ฮน โ†’ โ„) :
            โ‡‘(measurableEquivPiIoc b).symm = fun (x : { x : ฮน โ†’ โ„ // โˆ€ (i : ฮน), x i โˆˆ Set.Ioc (b i) (b i + 1) }) (i : ฮน) => โ†‘(โ†‘x i)
            @[simp]
            theorem UnitAddTorus.coe_symm_measurableEquivPiIoc_apply {ฮน : Type u_2} (b : ฮน โ†’ โ„) (y : { x : ฮน โ†’ โ„ // โˆ€ (i : ฮน), x i โˆˆ Set.Ioc (b i) (b i + 1) }) :
            (measurableEquivPiIoc b).symm y = fun (i : ฮน) => โ†‘(โ†‘y i)
            theorem UnitAddTorus.lintegral_preimage {d : Type u_1} [Fintype d] (f : UnitAddTorus d โ†’ ENNReal) (a : d โ†’ โ„) :
            โˆซโป (x : UnitAddTorus d), f x = โˆซโป (x : d โ†’ โ„) in {x : d โ†’ โ„ | โˆ€ (i : d), x i โˆˆ Set.Ioc (a i) (a i + 1)}, f fun (i : d) => โ†‘(x i)
            theorem UnitAddTorus.integral_preimage {d : Type u_1} [Fintype d] {E : Type u_3} [NormedAddCommGroup E] [NormedSpace โ„ E] (f : UnitAddTorus d โ†’ E) (a : d โ†’ โ„) :
            โˆซ (x : UnitAddTorus d), f x = โˆซ (x : d โ†’ โ„) in {x : d โ†’ โ„ | โˆ€ (i : d), x i โˆˆ Set.Ioc (a i) (a i + 1)}, f fun (i : d) => โ†‘(x i)
            @[reducible, inline]
            noncomputable abbrev UnitAddTorus.mFourierLp {d : Type u_1} [Fintype d] (p : ENNReal) [Fact (1 โ‰ค p)] (n : d โ†’ โ„ค) :

            The family of monomials mFourier n, parametrized by n : โ„คแตˆ and considered as elements of the Lp space of functions UnitAddTorus d โ†’ โ„‚.

            Instances For
              theorem UnitAddTorus.coeFn_mFourierLp {d : Type u_1} [Fintype d] (p : ENNReal) [Fact (1 โ‰ค p)] (n : d โ†’ โ„ค) :
              โ†‘โ†‘(mFourierLp p n) =แต[MeasureTheory.volume] โ‡‘(mFourier n)

              For each 1 โ‰ค p < โˆž, the linear span of the monomials mFourier n is dense in the Lแต– space of functions on UnitAddTorus d.

              The monomials mFourierLp 2 n are an orthonormal set in Lยฒ.

              noncomputable def UnitAddTorus.mFourierCoeff {d : Type u_1} [Fintype d] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace โ„‚ E] (f : UnitAddTorus d โ†’ E) (n : d โ†’ โ„ค) :
              E

              The n-th Fourier coefficient of a function UnitAddTorus d โ†’ E, for E a complete normed โ„‚-vector space, defined as the integral over UnitAddTorus d of mFourier (-n) t โ€ข f t.

              Instances For
                theorem UnitAddTorus.mFourierCoeff_eq_integral {d : Type u_1} [Fintype d] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace โ„‚ E] (f : UnitAddTorus d โ†’ E) (n : d โ†’ โ„ค) (a : d โ†’ โ„) :
                mFourierCoeff f n = โˆซ (x : d โ†’ โ„) in {x : d โ†’ โ„ | โˆ€ (i : d), x i โˆˆ Set.Ioc (a i) (a i + 1)}, ((mFourier (-n)) fun (i : d) => โ†‘(x i)) โ€ข f fun (i : d) => โ†‘(x i)

                The Fourier coefficients of a function on UnitAddTorus d can be computed as integrals over โˆ i, (aแตข, aแตข + 1], for any a : d โ†’ โ„.

                noncomputable def UnitAddTorus.mFourierBasis {d : Type u_1} [Fintype d] :

                We define mFourierBasis to be a โ„คแตˆ-indexed Hilbert basis for the Lยฒ space of functions on UnitAddTorus d, which by definition is an isometric isomorphism from Lยฒ(UnitAddTorus d) to โ„“ยฒ(โ„คแตˆ, โ„‚).

                Instances For
                  @[simp]

                  The elements of the Hilbert basis mFourierBasis are the functions mFourierLp 2, i.e. the monomials mFourier n on UnitAddTorus d considered as elements of Lยฒ.

                  theorem UnitAddTorus.mFourierBasis_repr {d : Type u_1} [Fintype d] (f : โ†ฅ(MeasureTheory.Lp โ„‚ 2 MeasureTheory.volume)) (i : d โ†’ โ„ค) :
                  โ†‘(mFourierBasis.repr f) i = mFourierCoeff (โ†‘โ†‘f) i

                  Under the isometric isomorphism mFourierBasis from Lยฒ(UnitAddTorus d) to โ„“ยฒ(โ„คแตˆ, โ„‚), the i-th coefficient is mFourierCoeff f i.

                  theorem UnitAddTorus.hasSum_mFourier_series_L2 {d : Type u_1} [Fintype d] (f : โ†ฅ(MeasureTheory.Lp โ„‚ 2 MeasureTheory.volume)) :
                  HasSum (fun (i : d โ†’ โ„ค) => mFourierCoeff (โ†‘โ†‘f) i โ€ข mFourierLp 2 i) f

                  The Fourier series of an L2 function f sums to f in the Lยฒ norm.

                  theorem UnitAddTorus.hasSum_prod_mFourierCoeff {d : Type u_1} [Fintype d] (f g : โ†ฅ(MeasureTheory.Lp โ„‚ 2 MeasureTheory.volume)) :
                  HasSum (fun (i : d โ†’ โ„ค) => (starRingEnd โ„‚) (mFourierCoeff (โ†‘โ†‘f) i) * mFourierCoeff (โ†‘โ†‘g) i) (โˆซ (t : UnitAddTorus d), (starRingEnd โ„‚) (โ†‘โ†‘f t) * โ†‘โ†‘g t)

                  Parseval's identity for inner products: for Lยฒ functions f, g on UnitAddTorus d, the inner product of the Fourier coefficients of f and g is the inner product of f and g.

                  theorem UnitAddTorus.hasSum_sq_mFourierCoeff {d : Type u_1} [Fintype d] (f : โ†ฅ(MeasureTheory.Lp โ„‚ 2 MeasureTheory.volume)) :
                  HasSum (fun (i : d โ†’ โ„ค) => โ€–mFourierCoeff (โ†‘โ†‘f) iโ€– ^ 2) (โˆซ (t : UnitAddTorus d), โ€–โ†‘โ†‘f tโ€– ^ 2)

                  Parseval's identity for norms: for an Lยฒ function f on UnitAddTorus d, the sum of the squared norms of the Fourier coefficients equals the Lยฒ norm of f.

                  theorem UnitAddTorus.mFourierCoeff_toLp {d : Type u_1} [Fintype d] (f : C(UnitAddTorus d, โ„‚)) (n : d โ†’ โ„ค) :
                  theorem UnitAddTorus.hasSum_mFourier_series_of_summable {d : Type u_1} [Fintype d] {f : C(UnitAddTorus d, โ„‚)} (h : Summable (mFourierCoeff โ‡‘f)) :
                  HasSum (fun (i : d โ†’ โ„ค) => mFourierCoeff (โ‡‘f) i โ€ข mFourier i) f

                  If the sequence of Fourier coefficients of f is summable, then the Fourier series converges uniformly to f.

                  theorem UnitAddTorus.hasSum_mFourier_series_apply_of_summable {d : Type u_1} [Fintype d] {f : C(UnitAddTorus d, โ„‚)} (h : Summable (mFourierCoeff โ‡‘f)) (x : UnitAddTorus d) :
                  HasSum (fun (i : d โ†’ โ„ค) => mFourierCoeff (โ‡‘f) i โ€ข (mFourier i) x) (f x)

                  If the sequence of Fourier coefficients of f is summable, then the Fourier series of f converges everywhere pointwise to f.