| ▲ | eldenring an hour ago | |
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. | ||
| ▲ | yorwba 3 minutes ago | parent | next [-] | |
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. | ||
| ▲ | skew-aberration an hour ago | parent | prev | next [-] | |
This reminds me of 'O(1)' hash maps, but far more egregious. | ||
| ▲ | eldenring an hour ago | parent | prev [-] | |
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. | ||