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.
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
𝓕 fis the Fourier transform off. The meaning of this notation is type-dependent.
Instances
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
𝓕⁻ fis the inverse Fourier transform off. 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
A FourierAdd is a function space on which the Fourier transform is additive.
- fourier_add (f g : E) : FourierTransform.fourier (f + g) = FourierTransform.fourier f + FourierTransform.fourier g
Instances
A FourierSMul is a function space on which the Fourier transform is homogeneous.
Instances
The Fourier transform is continuous.
- continuous_fourier : Continuous FourierTransform.fourier
Instances
A FourierInvAdd is a function space on which the inverse Fourier transform is additive.
- fourierInv_add (f g : E) : FourierTransformInv.fourierInv (f + g) = FourierTransformInv.fourierInv f + FourierTransformInv.fourierInv g
Instances
A FourierInvSMul is a function space on which the inverse Fourier transform is homogeneous.
- fourierInv_smul (r : R) (f : E) : FourierTransformInv.fourierInv (r • f) = r • FourierTransformInv.fourierInv f
Instances
The inverse Fourier transform is continuous.
- continuous_fourierInv : Continuous FourierTransformInv.fourierInv
Instances
A FourierModule is a function space on which the Fourier transform is a linear map.
- fourier : E → F
- fourier_add (f g : E) : FourierTransform.fourier (f + g) = FourierTransform.fourier f + FourierTransform.fourier g
Instances For
A FourierInvModule is a function space on which the Fourier transform is a linear map.
- fourierInv : E → F
- fourierInv_add (f g : E) : FourierTransformInv.fourierInv (f + g) = FourierTransformInv.fourierInv f + FourierTransformInv.fourierInv g
- fourierInv_smul (r : R) (f : E) : FourierTransformInv.fourierInv (r • f) = r • FourierTransformInv.fourierInv f
Instances For
The Fourier transform as a linear map.
Equations
Instances For
The Fourier transform as a continuous linear map.
Equations
Instances For
The inverse Fourier transform as a linear map.
Equations
Instances For
The inverse Fourier transform as a continuous linear map.
Equations
Instances For
A FourierPair is a pair of spaces E and F such that 𝓕⁻ ∘ 𝓕 = id on E.
Instances
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
The Fourier transform as a continuous linear equivalence.