[Numpy-discussion] Numpy FFT normalization options issue (addition of new option)

Chris Vavaliaris cv1038 at wildcats.unh.edu
Mon Jun 8 22:43:49 EDT 2020


- my first reaction would be that the less argument names we change at a
time the better, so that we don't confuse people or cause codes written with
previous NumPy versions to break. Personally I always think of "ortho" as
"orthonormal", which immediately brings "unit norm" to mind, but I have no
problem whatsoever with changing its name to "unitary" or maybe "unit",
which I'd probably choose if we were writing the routines from scratch. 

- In terms of the "inverse" name option, I do believe that it'd be a
confusing choice since "inverse" is used to describe the inverse FFT; if we
choose to stick with a name that's based on the fact that this scaling is
opposite to the "norm=None" option, then I'd suggest "norm=opposite" as a
better choice. However, following Ross' comment, I think we could choose a
name based on the fact that the forward transform is now scaled by `n`,
instead of the backward one as in the default "norm=None". In this case, I'd
suggest "norm=forward", which we can also nicely abbreviate to the
4-character form "norm=forw" if desirable.


Feng Yu wrote
> Hi,
> 1. The wikipedia pages of CFT and DFT refer to norm='ortho' as 'unitary'.
> Since we are in general working with complex numbers, I do suggest unitary
> over ortho.
> (https://en.wikipedia.org/wiki/Fourier_transform#Other_conventions) and (
> https://en.wikipedia.org/wiki/Discrete_Fourier_transform#The_unitary_DFT)
> 2. I share Chris's concern about 'inverse', but I could not come up with a
> nice name.
> 3. Now that we are at this, should we also describe the corresponding
> continuum limit of FFT and iFFT in the documentation?
> A paragraph doing so could potentially also help people diagnose some of
> the normalization factor errors. I assumed it is common that one needs to
> translate a CFT into DFT when coding a paper up, and the correct
> compensation to the normalization factors will surface if one does the
> math. -- I had the impression 1 / N corresponds to 1 / 2pi if the variable
> is angular frequency, but it's been a while since I did that last time.
> - Yu
> NumPy-Discussion mailing list

> NumPy-Discussion@

> https://mail.python.org/mailman/listinfo/numpy-discussion

Sent from: http://numpy-discussion.10968.n7.nabble.com/

More information about the NumPy-Discussion mailing list