Just a heads-up. As I think the discussion seemed to settled on "backwards" (default, identical to None), "forward" and the existing "ortho".
Thus "forward" and "backward" are now new valid values for the `norm` keyword argument to the fft functions in NumPy. (see https://github.com/numpy/numpy/pull/16476) - Sebastian On Mon, 2020-06-29 at 01:59 +0000, Peter Bell wrote: > > > 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
signature.asc
Description: This is a digitally signed message part
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion