Metadata-Version: 2.1
Name: udft
Version: 2.0.0
Summary: Unitary discrete Fourier Transform (and related)
Home-page: https://github.com/forieux/udft/
License: WTFPL
Keywords: fft,orthonormal
Author: François Orieux
Author-email: francois.orieux@universite-paris-saclay.fr
Maintainer: François Orieux
Maintainer-email: francois.orieux@universite-paris-saclay.fr
Requires-Python: >=3.7,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Typing :: Typed
Requires-Dist: numpy (>=1.20.2,<2.0.0)
Requires-Dist: pyFFTW (>=0.12.0,<0.13.0)
Project-URL: Author webpage, https://pro.orieux.fr/
Project-URL: Bug Tracker, https://github.com/forieux/udft/issues
Project-URL: Documentation, https://qmm.readthedocs.io/en/stable/
Project-URL: Repository, https://github.com/forieux/udft/
Description-Content-Type: text/markdown

# 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 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, e.g., the
value of the null frequency is equal to `1/√N * ∑ₙ xₙ`.

```
[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. We
recommend using poetry for installation

```
   poetry add qmm
```

but 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](https://semver.org/spec/v2.0.0.html), and major changes are
unlikely.

## License

The project is licensed under the DO WHAT THE FUCK YOU WANT license.

