This is a bad take. I will happily acknowledge the new term "slopository" which I had not heard before, while taking the author to task for malice towards theorists. STOC/FOCS/SODA, etc are not about "doing practical algorithms". If you want that, you go to ESA, ALENEX, or VLDB/SIGMOD, or any of the other more applied venues featuring this work. I don't think it's fair to just shit on theory because they don't do experiments---they're mathematicians, and it is fine to have absurd constants in your big-O as long as they are constants.<p>PS. I can have this view while simultaneously thinking that Ben is a badass.
As a theorist, it's sort of true that I "don't care" about galactic constants. I'm interested in the structure of computation for philosophical reasons. But I really do care about the model of computation.<p>To put it another way, the constants inside a big-O are not really constant: they depend on what you assume is a constant-time operation.
If algorithmic theorists don't care about practical performance then why should we care about what they're doing? It's just a strange game they're playing, of no interest to anyone else.<p>It seems like rather than coming up with more "galactic" algorithms, a more useful thing to do might be to come up with a replacement for big-O that's not so exploitable, and to convince theoreticians to play that game instead.
You care because Pierre de Fermat 16th century work on modular arithmetic was of “no intest to anyone else” except other theorists but it got to shine in the twentienth century in modern cryptography.<p>Doing theory is what gives you a chance to push the envelope to places you can’t even imagine when you’re knee deep in real world problems. And proving something is possible (if impractical) gives an incentive to find a better algorithm and may attract others.<p>For example see the first graph here: <a href="http://klotza.blogspot.com/2016/06/the-fall-of-twin-prime-gap.html" rel="nofollow">http://klotza.blogspot.com/2016/06/the-fall-of-twin-prime-ga...</a>
Considering this line:<p>" In 1973, Jacques Morgenstern proved that you couldn’t get a Fourier transform faster than ½ n log n if you required that complex coefficients used in the computation had bounded magnitude"<p>I highly doubt this is going to somehow inspire people to make faster algorithms than the mathematical bound...<p>I have no problem with pure mathematics, my training was in it; but it seems very possible to me that most people funding theoretical computer science (as opposed to pure maths) probably assume the work has a more realistic computational model backing it up.
>I have no problem with pure mathematics, my training was in it; but it seems very possible to me that most people funding theoretical computer science (as opposed to pure maths) probably assume the work has a more realistic computational model backing it up.<p>Most people getting funding for pure maths probably just lie and/or stretch the truth that it tangentially has some relation to or possible benefit to practical things like cryptography. It doesn't need to actually be true. It just needs to feel true enough.
Does the apply to representation of complex numbers, which is not uncountably infinite and represented by floats?
The algorithm from OpenAI works also in prime-order finite fields. Such FFTs are used all over the place in cryptography. So clearly their result is not useless and works in a realistic computational model
No, I don’t care. Until there is a real, practical result, I don’t care. There are plenty of examples of math discovered in service of solving a problem. There is nothing that says math has to be purely abstract first.
Dudeee how far up your hind do you need to be to nit even appreciate the groundwork being laid out?<p>Like imagine Einstein without access to geometry work. You had others point you to number theory. What about Boole's algebra.<p>There is a pretty big list of seemingly useless pure math things suddenly finding a very practical use. Sometimes quite a bit later too. And we have no way of knowing beforehand.<p>And it's fine to not want to do such work yourself. But to dismiss it is, well, not very thoughtful.
Because clearly we’d have invented GPS if we had asked ourselves “how do I create a global positioning system with centimeter accuracy”?
And that's fine, caring about everything is exhausting, someone has to solve real world problem. But dismissing a result since it's not practical is not fine
You can't imagine how that severely limits the potential size of the discovery space shackling it to present day problems?
Ironic username as I doubt we'd get to the stars with your philosophy.
How far are you willing to go? In your radical pragmatism, are you an intuitionist, or even a finitist? Oh wait, these are pure math topics that you do not care a about!
I think you are free not to care about what they are doing. It turns out that big O notation has some useful properties, and in particular it is a useful definition as it allows you to define complexity classes which are a very useful tool for analyzing algorithms in general.<p>Much of our 'practical' understanding of algorithms also in part came from theoretical advances.
The argument in the article isn’t about whether big O notation is useful it’s about whether the n in any particular big O is relevant. In this case the algorithm’s claim is that you can multiply arbitrarily large numbers faster than n log n where n is the size of the numbers being multiplied. But that result holds only if you don’t include the cost to multiple arbitrarily large complex numbers in that n, which are assumed to be able to multiply in constant time.
> In this case the algorithm’s claim is that you can multiply arbitrarily large numbers faster than n log n where n is the size of the numbers being multiplied. But that result holds only if you don’t include the cost to multiple arbitrarily large complex numbers in that n, which are assumed to be able to multiply in constant time.<p>Well that's certainly not the claim. Think about it, that would mean the whole thing is trivially O(1), so why would they be bothering with the rest?<p>You've missed part in the analysis, or I believe added an assumption they're not making (the constant-time-multiply one, specifically).<p>This all _is_ almost certainly impractical, but it's for the usual reason of it only being faster for numbers nobody could ever care about. It's theoretically _quite_ interesting though, because hey...what _is_ the fastest you can actually multiply numbers if it's not O(n lg n) as many ~assumed.
The complex FFT is a generalization of the n-bit integer multiplication algorithm, not the other way around. No complex-number operations are required for the integer case.
That’s sloppy reasoning. There might be notations that allow for classifying complexity classes that don’t suffer this problem.
your reasoning is sloppy. so confidently incorrect throughout this thread!
You're free to propose one and see if it catches on
That may well be the case, in theory.
There might not be, how is your reasoning any less “sloppy”?
> If algorithmic theorists don't care about practical performance then why should we care about what they're doing? It's just a strange game they're playing, of no interest to anyone else.<p>You don't need to care. But every so often breakthroughs in theory can be turned into breakthroughs in practice.<p>> It seems like rather than coming up with more "galactic" algorithms, a more useful thing to do might be to come up with a replacement for big-O that's not so exploitable, and to convince theoreticians to play that game instead.<p>There's plenty of replacements.<p>Btw, we already have the optimal (in big-O terms) algorithm for every NP hard problem. We just don't know whether it runs in polynomial time or takes longer. And, yes, that algorithm called Levin's Universal Search is a galactic algorithm. Simplifying a lot, Levin's Universal Search does some clever interleaving to essentially try all possible algorithms in sort-of parallel.<p>Lo and behold, even the theorists you complain about don't see that 'loophole' as a solution, declare victory and go home. They still keep researching.
They do care. They also care about partial results. As of last week, we thought we knew the best possible algorithm. We now know that there's a galactic algorithm that's an asymptotic improvement. The question then becomes "Is there a non-galactic algoritm that does the same, or is any such algorithm necessarily galactic?"<p>The problem is that proving an algorithm is necessarily galactic is incredibly hard. If you knew how to do this, you would become one of the most celebrated complexity theorists of the age. Stanford would be calling.
"Malicious" is an overstatement, but "exploit" is completely fair in my view. Theory with no possible practical relevance is useless, and I think a computational complexity result requiring arbitrary-precision arithmetic that is impossible to implement using any physical system qualifies.
Plenty of mathematics was practically useless for long periods of time, waiting for us to invent computers, cryptography, error correcting codes, etc.<p>It's extremely hard to know what mathematics may be useful in the future or not.
The author is attacking the field of theoretical algorithm design broadly as being useless. If we take the author's logic to its conclusion, many algorithms we learn about in a standard Algorithm Design course such as "median of medians" (finding the median in a list in O(n) worst-case time) is useless because it is not used in practice. Even the original 2019 Harvey–van der Hoeven result, showing integration multiplication can be done in O(n log n), has a galactic overhead and no applications.<p>> theory gets so unmoored from the original question that an “open problem” becomes nothing more than an academic status puzzle...The theory of computer science has become a form of mathematics that doesn’t concern itself with computers, and it offers little reward for impact outside those mathematical pursuits<p>I thought it is common knowledge (and a common warning from profs to first-year CS students) that computer science has very little to do with computers. The very concept of Turing machines and decidability are mathematical in nature, far removed from how computers these days are run. The undecidability of Wang tiling, for example, is definitely a notable CS result, but it has nothing to do with computers." It is essentially a branch of mathematics. "Computer Science Is Not About Computers, Any More Than Astronomy Is About Telescopes" is a famous quote attributed to Dikstra. There is even famous MIT Open Courseware clip: <a href="https://youtu.be/2Op3QLzMgSY?t=30" rel="nofollow">https://youtu.be/2Op3QLzMgSY?t=30</a>
I don't think that is necessarily true, the post is making a stronger point than what you describe<p>> 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.<p>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.
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 <a href="https://arxiv.org/abs/2504.08009" rel="nofollow">https://arxiv.org/abs/2504.08009</a> ) and the magnitude of intermediate values is no longer a problem.
This reminds me of 'O(1)' hash maps, but far more egregious.
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.
> "median of medians" (finding the median in a list in O(n) worst-case time) is useless because it is not used in practice.<p>This one is <i>just not true</i>. Here it is in 255 lines of well commented Go code: <a href="https://github.com/ncruces/sort/blob/v1.0.3/quick/quick.go" rel="nofollow">https://github.com/ncruces/sort/blob/v1.0.3/quick/quick.go</a><p>It's worse case linear, as used for sorting it beats the Go standard library on the average and worst cases, lagging a bit on the best cases.<p>In my experience, median-on-ninthers (which is only slightly more complicated than median-of-medians) <i>definitely</i> beats both heap sort and particularly heap select as a fall back for the degenerate case.<p>And it's not just academic: I've sped up significant stuff at work by switching from sorting to partial sorting and/or selection.
<a href="https://en.wikipedia.org/wiki/Galactic_algorithm" rel="nofollow">https://en.wikipedia.org/wiki/Galactic_algorithm</a> for those not in the know.
The irony being Dijkstra had lots of deep ideas about how programming ought to be done (from a basic science approach as informed by CS) and that the industry is still in the stone/bronze ages in terms of putting advanced ideas into practice.
A lovely theory, and yet the field is called "computer science".<p>Also, while I am not an expert, I suspect it is frequently useful to understand how telescopes actually work when you're trying to do astronomy with them.
The history of the term is actually really interesting. There has been debate about whether or not its the correct name basically since the advent of computer science departments in the 60s.<p>I don't think the author is "wrong" about the gap between theoretical discussions computation and the actual design constraints of building usable computers. I don't know if that's really a general refutation of proving new things mathematically though. The word "computer" doesn't appear once in the paper OpenAI released, nor do they make any claims specifically about "computer science": <a href="https://github.com/openai/math/blob/main/preprints/An-explicit-power-saving-for-the-exact-discrete-Fourier-transform-September-25-2026/main.pdf" rel="nofollow">https://github.com/openai/math/blob/main/preprints/An-explic...</a><p>It's a novel bit of math. Whether or not it means anything in the context of writing software realistically is an interesting conversation, but it doesn't have much bearing on the substance of the result itself. OpenAI is pretty explicit that they view these as research results in the domain of mathematics.
The field has a lot of names. Computer science is the most common, but you can also find other names such as computing, informatics, datalogy, and data processing science (or their foreign equivalents).<p>Within computer science, there is a clear mathematical tradition, an engineering tradition, and a social science tradition. There are also plenty of applied computer scientists who use computer science to study topics in other fields.
yes and I'd like to sue whoever named that field for false advertising. when I went to school (Precambrian era - no internet) I thought computer science would be great because I wanted to learn how to program. I dropped it after the 2nd year when I realized it was more about calculus than programming. (and I sucked at calculus. well, the teachers who were supposed to teach me about calculus sucked, but the end result was the same.)
It is a misnomer because it's not really about computers, nor is it science (although machine learning has always been much more scientific IMO). But it <i>is</i> about programming. It's just from first principles. It's like learning to build furniture: you first have to learn about wood. Sure, most people will just put something together from IKEA, and that might be satisfying. But they don't really know how to build furniture.
The author could have left AI entirely out of the essay and come to the same conclusions. He just really doesn't like TCS. That's fine, it's really a part of mathematics not science, but it's silly to dismiss a field with "theoretical" in its name for being impractical.
No, I don't think you (or the part of the thread I read thus far, top to bottom) are giving the most charitative interpretation of the post.<p>In my understanding, the article wants to raise awareness of the potential dynamics of a mathematics/theoretical computer science field governed by the imperfect rules (as they must be) of human sensemaking when the merit system (publication and community standards) are hacked by a machines for which the cost-benefit calculation is very different than for human reseachers for which the rules were invented / sedimented in the first place.<p>The foregoing discussion above about the emergent utility of now seemingly wasteful theoretical research is as old as any other, but equally predicated on human effort/apability ratios. And AI should invite us to rethink, because to be relevant to humans, its unwieldy results will have to be judged by humans, on their timescales and effort budgets. So we are discussing whether SPAM or HAM before we literally spend our lives as human critics of what ultimately could just be a reward hacking exercise by somebody with access to free tokens.
Yes, this is clickbait. The author does not like the definition of big-O. OpenAI is just a scapegoat.
Did not realize that the model of computation for all of the banner computational complexity results from last week was "exact complex arithmetic." Is this and/or "exact real arithmetic" a common premise for papers in this field? My assumption as an outsider was that people mostly care about things equivalent to Turing machines.<p>edit: by "things equivalent to" I really mean universal register machines, something that operates on integers and not directly on real numbers.
Almost no one uses Turing machines for complexity theory.<p>At most you use them for stuff like P vs NP, because Turing machines are 'only' polynomially slower than register machines, so it doesn't matter.<p>But when you are talking about linear vs quadratic on something resembling real computers, Turing machines are the wrong model.
This kind of this is pretty common (see, for example <a href="https://en.wikipedia.org/wiki/Blum%E2%80%93Shub%E2%80%93Smale_machine" rel="nofollow">https://en.wikipedia.org/wiki/Blum%E2%80%93Shub%E2%80%93Smal...</a>).<p>There is, of course, the very rich field of Numerical Analysis which deals with how we actually represent these things in real life, but for a starting point assuming this sort of thing is par for the course.
No, it’s unusual to use Turing machines as the model.
Turing machines are good for computability but not great for complexity.
So, the pseudo-FFT exploits algorithmic similarity between DFT and multiplication to translate part of the DFT work into multiplication work, which is O(1) in the exact arithmetic model.<p>Thus, the magnitudes of the numbers being multiplied grow superpolynomially with n (the DFT problem size): because the robot's stuffing its work in there and using it as an oracle.<p>Did I get that much right? What a cool hack.
There is currently an effort underway to improve the bound. They have reached at a much larger kappa around 0.001635527380375392<p><a href="https://github.com/CrocSwap/integer-mult-bounds" rel="nofollow">https://github.com/CrocSwap/integer-mult-bounds</a>
This made me chortle:<p>> Did I read this paper? Of course not. No one at OpenAI read this paper either, so why should I? I did what every other mathematician in the world does with AI slop mathematics: I fed it back into the slop machine and ran an information retrieval session with a chatbot interface to extract salient facts. Anthropomorphically speaking: I asked ChatGPT what it thinks about its own output. This is how we do mathematical research now. What a world.
This article has basically nothing to do with the OpenAI paper; it's a critique of the entire field of computer science, rehashed to pick at one of their papers.<p>Wake me up when someone has understood the proof.
> the algorithm requires you to multiply complex numbers whose magnitudes grow <i>superpolynomially</i> with n.<p>Err... doesn't that completely invalidate the big-O analysis!?<p>I suspected that these Open AI "proofs" of sub-nlogn times were cheating somehow, by sweeping something under a rug. This seems to be it!
I can't speak for the FFT claim, but least the sub-O(<i>n</i> log <i>n</i>) multiplication claim is for the multitape Turing machine model with a fixed number of tapes, which if anything is more restrictive than actual random-access memory. Of course, it's still galactic just like the O(<i>n</i> log <i>n</i>) algorithm, but it definitely seems like there's something there.
You can be linear in the bit length of the input number, but exponential in the magnitude.<p>This is a common thing in complexity, and I think even the abstract says it is talking about “length n” and not “magnitude n”
> This new OpenAI result is thus less a mathematical breakthrough and more an oddity of computer scientists being bad at formalizing their design specifications.<p>Related, another article about proofs that may depend on bad formalizations:<p><a href="https://news.ycombinator.com/item?id=49994145">https://news.ycombinator.com/item?id=49994145</a> - Navier-Stokes Lost in Translation (5 days ago, 237 comments)<p>AI seems to be very good at getting answers, but not always answers to the correct questions. These remind me of Deep Thought from The Hitchhiker's Guide to the Galaxy, where they got an answer to the ultimate question before actually knowing what the ultimate question is.
> AI seems to be very good at getting answers, but not always answers to the correct questions.<p>I don't think that's an accurate summary of the article you linked. The Lean proof solved the exact problem it was supposed to, it just had minor discrepancies from the writeup of the proof (on the level of saying a theorem requires m+4 derivatives when it actually requires m+5 derivatives). Obviously a problem but not really a bombshell.
I am as upset as the slew of math slop from OpenAI as the next guy, but I do not understand this article. Are they saying that this was not a true improvement because the algorithm is _galactic_? Human algorithm researchers have been publishing those sorts of results for decades now
A lot of people are emphatically NOT upset about the OpenAI math dump.
I think it's reasonable to give the benefit of the doubt to humans, but not LLMs, that their galactic constants are not just attempts to "hack" the problem description. If LLMs are going to turn up a bunch of them, we have to develop a better version of complexity theory that accounts for them.<p>> “The model uses exact complex arithmetic.” That means it assumes you can store and multiply complex numbers at arbitrary precision. Indeed, the algorithm requires you to multiply complex numbers whose magnitudes grow superpolynomially with n.<p>This in particular is the kind of thing that I'd expect a human would at least pause on and ideally note as a severe caveat to any claimed asymptotic improvement. I don't know off the top of my head if the story is as simple as "you can tuck part of the asymptote into your presumed constant arithmetic", but it sounds kinda plausible?
> Human algorithm researchers have been publishing those sorts of results for decades now<p>This is a superfluous remark because the article already said it. He criticizes theoretical computer science for doing it, not just OpenAI.
To be honest this reminds me of interview leetcode. Like I remember one where you could get constant time if you made nested hashtables covering character sequences that might have made sense in USCII but probably would be impossible to maintain in UTF. In general leetcode problems love goading you to treat the ASCII character space as constant time to deal with and it's stupid. And it seems very similar to this.
I’ve made some half hearted attempts to try and understand even the framing of some of these problems that were solved, and my god theoretical math is hard. It’s completely impenetrable with unknown symbols and hard to comprehend bounds and several orders of derivatives. It’s all unintuitive to me.
An unpleasant part of the AI math revolution is that people's hatred of AI is bringing to bear their hatred of pure mathematics in general. I've always known in the back of my mind that mathematicians were secretly despised and looked down upon by many, but it's a bad feeling to see it become so mainstream.
And people's <i>love</i> of AI is also surfacing their dislike of pure mathematicians. Plenty of comments along the lines of "turns out mathematicians were just idiot savants solving puzzles".
I have seen no despisal just a bit of a dismissal which was always there
I Fairly know about FFT, its an algorithm of DFT.<p>As the argmin suggests Writing computational complexity in Big O isn't great here.<p>since we generally see the interms of no.of complex additions and no.of Multiplications in the FFT algorithm.