>> Honestly, I don't find "forward" very informative. There isn't any real >> convention on whether FFT of IFFT have any normalization. >> To the best of my experience, either forward or inverse could be normalized >> by 1/N, or each normalized by 1/sqrt(N), or neither >> could be normalized. I will say my expertise is in signal processing and >> communications. >> >> Perhaps >> norm = {full, half, none} would be clearest to me.
>If I understand your point correctly and the discussion so far, the >intention here is to use the keyword to denote the convention for an >FFT-IFFT pair rather than just normalization in a single >transformation (either FFT or IFFT). >The idea being that calling ifft on the output of fft while using the >same `norm` would be more or less identity. This would work for >"half", but not for, say, "full". We need to come up with a name that >specifies where normalization happens with regards to the >forward-inverse pair. For what it's worth, I'm not sure that norm referring to a pair of transforms was ever a conscious decision. The numpy issue that first proposed the norm argument was gh-2142 which references scipy.fftpack's discrete cosine transforms. However, fftpack's dct never applied a 1/N normalization factor in either direction. So, norm=None really did mean "no normalization". It was then carried over to NumPy with None instead meaning "default normalization". Unfortunately, this means norm=None could easily be mistaken for "no normalization", and would make accepting norm="none" terribly confusing. To break this confusion, I think the documentation should refer to norm={"backward", "ortho", "forward"} where "backward" is a synonym for norm=None. As an aside, the history with the dct makes it clear the choice was "ortho" and not "unitary" because the dct is a real transform. -Peter
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion