Fourier Matrix

class fastmat.Fourier

Bases: fastmat.Matrix.Matrix

The Fourier Transform realizes the mapping

\[x \mapsto {\mathcal{F}}_n \cdot x,\]

where the Fourier matrix \({\mathcal{F}}_n\) is uniquely defined by the size of the vectors it acts on.

>>> # import the package
>>> import fastmat as fm
>>>
>>> # define parameter
>>> n = 4
>>>
>>> # construct the matrix
>>> F = fm.Fourier(n)

This yields a Fourier \({\mathcal{F}}_4\) matrix of size \(4\). As a library to provide the Fast Fourier Transform we used the one provided by NumPy.

Todo

  • real valued transforms
__init__

Initialize Fourier matrix instance.

Parameters:
order : int

The order of the DFT matrix represented by this matrix instance.

optimize : bool, optional

Allow application of the Bluestein algorithm for badly conditioned fourier transform orders.

Defaults to True.

maxStage : int, optional

Specify the maximum butterfly element size for the FFT. Larger values can reduce the required order for the FFTs computed in the Bluestein case. However, increasing only makes sense as long as an efficient implementation of the butterfly structures exist in your BLAS.

Defaults to 4, which is safe to assume on all architectures. However, most implementations support sizes of 5 and on some cpu architectures, also 7.

**options : optional

Additional optional keyworded arguments. Supports all optional arguments supported by fastmat.Matrix.

order

Return the Order of the Fourier matrix.

(read-only)