Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I am sorry, but comments like this are caused by the naivety of not knowing how the function evaluations are actually implemented.

None of the applications mentioned by you need to use the exponential e^x or the natural logarithm, all can be done using the exponential 2^x and the binary logarithm. The use of the less efficient and less accurate functions remains widespread only because of bad habits learned in school, due to the huge inertia that affects the content of school textbooks.

The fast Fourier transform is written as if it would use e^x, but that has been misleading for you, because it uses only trigonometric functions, so it is irrelevant for discussing whether "e" or "ln 2" is more important, because neither of these 2 transcendental constants is used in the Fast Fourier Transform.

Moreover, FFT is an example for the fact that it is better to use trigonometric functions with the arguments measured in cycles, i.e. functions of 2*Pi*x, instead of the worse functions with arguments measured in radians, because with arguments expressed in cycles the FFT formulae become simpler, all the multiplicative constants explicitly or implicitly involved in the FFT direct and inverse computations being eliminated.

A function like cos(2*Pi*x) is simpler than cos(x), despite what the conventional notation implies, because the former does not contain any multiplication with 2*Pi, but the latter contains a multiplication with the inverse of 2*Pi, for argument range reduction.



I think that perhaps people are conflating the fourier transform (FT) with the fast fourier transform.

It's true that the FFT does not use either of the transcendental numbers e or ln(2), but that's because the FFT does not use transcendental numbers at all! (Roots of unity, sure, but those are algebraic)

> all the multiplicative constants explicitly or implicitly involved in the FFT direct and inverse computations being eliminated.

Doesn't that basically get you a Hadamard transform?


FFT can be done avoiding the use of any transcendental constants, but the conventional formulae for FFT use the transcendental 2Pi both explicitly and implicitly.

The FFT formulae when written using the function e^ix contain an explicit division by 2Pi which must be done either in the direct FFT or in the inverse FFT. It is more logical to put the constant in the direct transform, but despite this most implementations put the constant in the inverse transform, presumably because a few applications use only the direct transform, not also the inverse transform.

Some implementations divide by sqrt(2Pi) in both directions, to enable the use of the same function for both direct and inverse FFT.

Besides this explicit used of 2Pi, there is an implicit division by 2Pi in every evaluation of e^ix, for argument range reduction.

If instead of using e-based exponentials one uses trigonometric functions with arguments measured in cycles, not in radians, then both the explicit use of 2Pi and its implicit uses are eliminated. The explicit use of 2Pi comes from computing an average value over a period, by integration followed by division by the period length, so when the period is 1 the constant disappears. When the function argument is measured in cycles, argument range reduction no longer needs a multiplication with the inverse of 2Pi, it is done by just taking the fractional part of the argument.


>I am sorry, but comments like this are caused by the naivety of not knowing how the function evaluations are actually implemented.

I am sorry, but comments like this are caused by the naivety of not knowing a single things about mathematics.

Do you not understand that mathematics is not just about implementation, but about forming models of reality? The idea of trying to model a physical system while pretending that e.g. the solution of the differential equations x'=x does not matter is just idiotic.

The idea that just because some implementation can avoid a certain constant, that this constant is irrelevant is immensely dumb and tells me that you lack basic mathematical education.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: