Documentation

Mathlib.Analysis.Fourier.Notation

Type classes for the Fourier transform #

In this file we define type classes for the Fourier transform and the inverse Fourier transform. We introduce the notation 𝓕 and 𝓕⁻ in these classes to denote the Fourier transform and the inverse Fourier transform, respectively.

Moreover, we provide type-classes that encode the linear structure and the Fourier inversion theorem.

class FourierTransform (E : Type u) (F : outParam (Type v)) :
Type (max u v)

The notation typeclass for the Fourier transform.

While the Fourier transform is a linear operator, the notation is for the function E → F without any additional properties. This makes it possible to use the notation for functions where integrability is an issue. Moreover, including a scalar multiplication causes problems for inferring the notation type class.

  • fourier : EF

    𝓕 f is the Fourier transform of f. The meaning of this notation is type-dependent.

Instances
    class FourierTransformInv (E : Type u) (F : outParam (Type v)) :
    Type (max u v)

    The notation typeclass for the inverse Fourier transform.

    While the inverse Fourier transform is a linear operator, the notation is for the function E → F without any additional properties. This makes it possible to use the notation for functions where integrability is an issue. Moreover, including a scalar multiplication causes problems for inferring the notation type class.

    • fourierInv : EF

      𝓕⁻ f is the inverse Fourier transform of f. The meaning of this notation is type-dependent.

    Instances

      𝓕 f is the Fourier transform of f. The meaning of this notation is type-dependent.

      Equations
        Instances For

          𝓕⁻ f is the inverse Fourier transform of f. The meaning of this notation is type-dependent.

          Equations
            Instances For
              class FourierAdd (E : Type u_5) (F : outParam (Type u_6)) [Add E] [Add F] [FourierTransform E F] :

              A FourierAdd is a function space on which the Fourier transform is additive.

              Instances
                class FourierSMul (R : Type u_5) (E : Type u_6) (F : outParam (Type u_7)) [SMul R E] [SMul R F] [FourierTransform E F] :

                A FourierSMul is a function space on which the Fourier transform is homogeneous.

                Instances

                  The Fourier transform is continuous.

                  Instances
                    class FourierInvAdd (E : Type u_5) (F : outParam (Type u_6)) [Add E] [Add F] [FourierTransformInv E F] :

                    A FourierInvAdd is a function space on which the inverse Fourier transform is additive.

                    Instances
                      class FourierInvSMul (R : Type u_5) (E : Type u_6) (F : outParam (Type u_7)) [SMul R E] [SMul R F] [FourierTransformInv E F] :

                      A FourierInvSMul is a function space on which the inverse Fourier transform is homogeneous.

                      Instances

                        The inverse Fourier transform is continuous.

                        Instances
                          @[deprecated "use `FourierAdd` and `FourierSMul` instead" (since := "2026-01-06")]
                          structure FourierModule (R : Type u_5) (E : Type u_6) (F : outParam (Type u_7)) [Add E] [Add F] [SMul R E] [SMul R F] extends FourierTransform E F :
                          Type (max u_6 u_7)

                          A FourierModule is a function space on which the Fourier transform is a linear map.

                          Instances For
                            @[deprecated "use `FourierInvAdd` and `FourierInvSMul` instead" (since := "2026-01-06")]
                            structure FourierInvModule (R : Type u_5) (E : Type u_6) (F : outParam (Type u_7)) [Add E] [Add F] [SMul R E] [SMul R F] extends FourierTransformInv E F :
                            Type (max u_6 u_7)

                            A FourierInvModule is a function space on which the Fourier transform is a linear map.

                            Instances For
                              @[simp]
                              theorem FourierTransform.fourier_neg {E : Type u_3} {F : Type u_4} [AddCommGroup E] [AddCommGroup F] [FourierTransform E F] [FourierAdd E F] (f : E) :
                              @[simp]
                              theorem FourierTransform.fourier_sum {ι : Type u_1} {E : Type u_3} {F : Type u_4} [AddCommGroup E] [AddCommGroup F] [FourierTransform E F] [FourierAdd E F] (f : ιE) (s : Finset ι) :
                              fourier (∑ is, f i) = is, fourier (f i)
                              @[simp]
                              theorem FourierTransform.fourierInv_sum {ι : Type u_1} {E : Type u_3} {F : Type u_4} [AddCommGroup E] [AddCommGroup F] [FourierTransformInv E F] [FourierInvAdd E F] (f : ιE) (s : Finset ι) :
                              fourierInv (∑ is, f i) = is, fourierInv (f i)
                              def FourierTransform.fourierₗ (R : Type u_2) (E : Type u_3) {F : Type u_4} [Semiring R] [AddCommMonoid E] [AddCommMonoid F] [Module R E] [Module R F] [FourierTransform E F] [FourierAdd E F] [FourierSMul R E F] :

                              The Fourier transform as a linear map.

                              Equations
                                Instances For
                                  @[simp]
                                  theorem FourierTransform.fourierₗ_apply {R : Type u_2} {E : Type u_3} {F : Type u_4} [Semiring R] [AddCommMonoid E] [AddCommMonoid F] [Module R E] [Module R F] [FourierTransform E F] [FourierAdd E F] [FourierSMul R E F] (f : E) :
                                  (fourierₗ R E) f = fourier f

                                  The Fourier transform as a continuous linear map.

                                  Equations
                                    Instances For
                                      def FourierTransform.fourierInvₗ (R : Type u_2) (E : Type u_3) {F : Type u_4} [Semiring R] [AddCommMonoid E] [AddCommMonoid F] [Module R E] [Module R F] [FourierTransformInv E F] [FourierInvAdd E F] [FourierInvSMul R E F] :

                                      The inverse Fourier transform as a linear map.

                                      Equations
                                        Instances For
                                          @[simp]
                                          theorem FourierTransform.fourierInvₗ_apply {R : Type u_2} {E : Type u_3} {F : Type u_4} [Semiring R] [AddCommMonoid E] [AddCommMonoid F] [Module R E] [Module R F] [FourierTransformInv E F] [FourierInvAdd E F] [FourierInvSMul R E F] (f : E) :

                                          The inverse Fourier transform as a continuous linear map.

                                          Equations
                                            Instances For
                                              class FourierPair (E : Type u_5) (F : Type u_6) [FourierTransform E F] [FourierTransformInv F E] :

                                              A FourierPair is a pair of spaces E and F such that 𝓕⁻ ∘ 𝓕 = id on E.

                                              Instances
                                                class FourierInvPair (E : Type u_5) (F : Type u_6) [FourierTransform F E] [FourierTransformInv E F] :

                                                A FourierInvPair is a pair of spaces E and F such that 𝓕 ∘ 𝓕⁻ = id on E.

                                                Instances

                                                  The Fourier transform as a linear equivalence.

                                                  Equations
                                                    Instances For
                                                      @[simp]
                                                      theorem FourierTransform.fourierEquiv_apply {R : Type u_5} {E : Type u_6} {F : Type u_7} [Semiring R] [AddCommMonoid E] [AddCommMonoid F] [Module R E] [Module R F] [FourierTransform E F] [FourierAdd E F] [FourierSMul R E F] [FourierTransformInv F E] [FourierPair E F] [FourierInvPair F E] (f : E) :

                                                      The Fourier transform as a continuous linear equivalence.

                                                      Equations
                                                        Instances For