logoalt Hacker News

eldenring • today at 5:35 AM • 3 replies • view on HN

I don't think that is necessarily true, the post is making a stronger point than what you describe

> Indeed, the algorithm requires you to multiply complex numbers whose magnitudes grow superpolynomially with n. If you stored these numbers as bits, the memory requirement would effectively be exponential in the input length. It assumes you can multiply such arbitrarily large complex numbers together in a single operation.

Another way to think about what the author said, imagine you had access to an oracle which could execute arbitrary precision arithmetic expressions in constant time. You could encode a wide range of computations in these and execute impossible algorithms.


Replies

yorwba • today at 6:51 AM

Replace the complex numbers with a finite field and O(1) arithmetic stops being an unrealistic assumption, as you can actually perform the required operations in constant time on a real computer. You can't do that for infinitely-precise complex numbers, but you'll never be able to provide an infinitely-precise complex number as the input anyway. If you start with finite-precision numbers (e.g. 64-bit floats) you can do all operations in a finite-field representation (e.g. the Ozaki scheme II is an actually practical implementation of that idea for matrix multiplication https://arxiv.org/abs/2504.08009 ) and the magnitude of intermediate values is no longer a problem.

➕ show 1 reply
skew-aberration • today at 5:58 AM

This reminds me of 'O(1)' hash maps, but far more egregious.

eldenring • today at 6:10 AM

actually thinking about it more I think my oracle model is more powerful than the computer used in openai's fft but maybe its a good way to think about it.