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 : E → F

    š“• 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 : E → F

      š“•ā» 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_4) (F : outParam (Type u_5)) [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_4) (E : Type u_5) (F : outParam (Type u_6)) [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_4) (F : outParam (Type u_5)) [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_4) (E : Type u_5) (F : outParam (Type u_6)) [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_4) (E : Type u_5) (F : outParam (Type u_6)) [Add E] [Add F] [SMul R E] [SMul R F] extends FourierTransform E F :
                      Type (max u_5 u_6)

                      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_4) (E : Type u_5) (F : outParam (Type u_6)) [Add E] [Add F] [SMul R E] [SMul R F] extends FourierTransformInv E F :
                        Type (max u_5 u_6)

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

                        Instances For
                          def FourierTransform.fourierā‚— (R : Type u_1) (E : Type u_2) {F : Type u_3} [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_1} {E : Type u_2} {F : Type u_3} [Semiring R] [AddCommMonoid E] [AddCommMonoid F] [Module R E] [Module R F] [FourierTransform E F] [FourierAdd E F] [FourierSMul R E F] (f : E) :
                            theorem FourierTransform.fourier_zero (R : Type u_1) {E : Type u_2} {F : Type u_3} [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 continuous linear map.

                            Equations
                            Instances For
                              @[simp]
                              theorem FourierTransform.fourierCLM_apply {R : Type u_1} {E : Type u_2} {F : Type u_3} [Semiring R] [AddCommMonoid E] [AddCommMonoid F] [Module R E] [Module R F] [FourierTransform E F] [FourierAdd E F] [FourierSMul R E F] [TopologicalSpace E] [TopologicalSpace F] [ContinuousFourier E F] (f : E) :
                              (fourierCLM R E) f = fourier f

                              The inverse Fourier transform as a linear map.

                              Equations
                              Instances For
                                @[simp]
                                theorem FourierTransform.fourierInvā‚—_apply {R : Type u_1} {E : Type u_2} {F : Type u_3} [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_4) (F : Type u_5) [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_4) (F : Type u_5) [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_4} {E : Type u_5} {F : Type u_6} [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) :
                                        @[simp]

                                        The Fourier transform as a continuous linear equivalence.

                                        Equations
                                        Instances For