UDFT: Unitary Discrete Fourier Transform (and related)¶
This module implements unitary discrete Fourier transform, that is orthonormal.
This module existed before the introduction of the norm="ortho"
keyword and
is now a very (very) thin wrapper around Numpy or pyFFTW (maybe others in the future), mainly done
for my personal usage. There is also functions related to Fourier and
convolution like ir2fr
.
It is useful for convolution [1]: they respect the Perceval equality \(\|x\|_2^2 = \|X\|_2^2\), e.g., the value of the null frequency \(X_0\) is equal to
[1] B. R. Hunt "A matrix theory proof of the discrete convolution theorem",
IEEE Trans. on Audio and Electroacoustics, vol. au-19, no. 4, pp. 285-288,
dec. 1971
If you are having issues, please let me know
francois.orieux AT l2s.centralesupelec.fr
Installation and documentation¶
UDFT is just the file udft.py
and depends on numpy
and Python 3.7 only. I
recommend using poetry for installation
poetry add udft
For potential better performance, pyFFTW is optional and installable with
poetry add udft[fftw]
The package is available with pip also. For a quick and dirty installation, just
copy the udft.py
file: it is quite stable, follow the Semantic Versioning, and major changes are unlikely.