lagrangeinterpolator

joined 9 months ago
[–] lagrangeinterpolator@awful.systems 1 points 29 minutes ago* (last edited 20 minutes ago)

The 31st try resulted in them only solving the problem for odd m, but the even m case was still open. So of course this happened:

Filip also told me that he asked Claude to continue on the even case after the odd case had been resolved. “But there after a while it seemed to get stuck. In the end, it was not even able to write and run explore programs correctly anymore, very weird. So I stopped the search.”

Knuth did add a postscript on other friends maybe kinda vibing a possible solution for even m:

On March 3, Stappers wrote me as follows: “The story has a bit of a sequel. I put Claude Opus 4.6 to work on the m = even cases again for about 4 hours yesterday. It made some progress, but not a full solution. The final program . . . sets up a partial fiber construction similar to the odd case, then runs a search to fix it all up. . . . Claude spent the last part of the process mostly on making the search quicker instead of looking for an actual construction. . . . It was running many programs trying to find solutions using simulated annealing or backtrack. After I suggested to use the ORTools CP-SAT [part of Google’s open source toolkit, with the AddCircuit constraint] to find solutions, progress was better, since now solutions could be found within seconds.” This program is [4].

Then on March 4, another friend — Ho Boon Suan in Singapore — wrote as follows: “I have code generated by gpt-5.3-codex that generates a decomposition for even m ≥ 8. . . . I’ve tested it for all even m from 8 to 200 and bunch of random even values between 400 and 2000, and it looks good. Seems far more chaotic to prove correctness by hand here though; the pattern is way more complex.” That program is [5]. (Wow. The graph for m = 2000 has 8 billion vertices!)

I find it slightly funny how Stappers suggested to the AI to use specific external tools that are actually reliable (like ORTools). This also makes me question how much the of the AI's "insight" was a result of handholding and the rubber duck effect.

For context:

  1. This is planned as a hard exercise for a textbook.
  2. There are likely so many solutions that finding a general program that works (at least for enough values that you care to check) is like hitting the side of a barn with an arrow. Random bullshit go is an excellent strategy here.
  3. The AIs did not provide proofs that their solutions worked. This is kind of a problem if you want to demonstrate that AI has understanding.

I can see them by clicking on the "Reasoned for 6m 34s" box on my desktop browser (I know, great UI design) without needing to log in. This did not work on my phone. In any case, I can copy it here:

Warning: very long slopExploring Hadamard matrix construction for order 428

For a Hadamard matrix of order 428, we need to confirm that it’s a multiple of 4, which it is (428 = 4 * 107). However, the challenge is that order 107 doesn’t work since it’s not a multiple of 4. A possible approach could involve using constructions like Williamson or Goethals-Seidel. Alternatively, I could try a Kronecker product of smaller matrices.

Examining constructions for Hadamard matrix of order 428

Since 107 ≡ 3 mod 4, Paley type I gives a Hadamard of order 108, but I need 428, not 432. That’s a little tricky. I wonder if there’s a known construction for order 4*107 using "Hadamard matrix of order 4q" or conference matrices. Could I adapt the generalized Paley approach for this?

Exploring conference matrix construction for Hadamard order 428

For q = 107, Paley construction doesn’t work since q ≡ 3 mod 4. But if I can create a conference matrix of order 214 (since 214 ≡ 2 mod 4), then a Hadamard matrix of order 428 would follow. Conference matrices require specific conditions, but this seems promising. Let's focus on 214.

Searching for explicit Hadamard matrix of order 428

To generate a Hadamard matrix of order 428, it might be feasible since many such matrices exist up to large orders, but I need one explicitly with ±1 entries. A direct construction could involve methods like Goethals-Seidel, which uses circulant matrices to satisfy specific conditions. I'll need to implement this method.

Exploring construction methods and searching for Hadamard matrix 428

For n=107, there might be a way to use Legendre sequences for Goethals-Seidel difference sets. I know there are constructions for order 4q where q is an odd prime power, but using approaches like Scarpis or Turyn may help too. I’ll search for an explicit Hadamard matrix of order 428 for a possible example or construction.

Exploring accessible sources and construction options for Hadamard matrix

It seems like there may be server timeouts, so I'll need to try other sources like GitHub, arXiv, or design theory papers. We could construct the Hadamard matrix ourselves using known algorithms, but it's heavy. If accessible, sequences from a Kharaghani paper could help, and SageMath might have relevant functions too.

Identifying base sequences to build Hadamard matrix

To create a Hadamard matrix of order 428, I think I can use base sequences of lengths 71 and 36, which combine to 107. I'll look for Turyn-type sequences or T-sequences in accessible PDFs, potentially from open sources like arXiv. A useful file might be "H_428," so I'll search for it.

Checking GitHub for Hadamard matrix at 428 order

I found a GitHub project, "anymatrix," which claims to have Hadamard matrices up to order 428. It might include the 428 matrix in MATLAB format. I’ll check the repository to see if it has the actual file with the matrix data. Let's open it and explore!

Opening GitHub repository for 428 Hadamard matrix

The page at math.ntua.gr timed out before, but I might try downloading the file directly instead of opening it. Alternatively, I could explore the GitHub "anymatrix" repository, which likely has Hadamard matrices up to order 428. I’ll open the repository’s root to check its structure and find the matrix file.

Opening Hadamard folder

I’ll go ahead and open the Hadamard folder at link ID 81. Time to check what’s inside and see if the matrix or relevant files are there!

Trying GitHub raw content for Hadamard matrix

It looks like extracting the files might have failed because of JS requirements, so I’m considering an alternative: accessing raw content directly from GitHub. I’ll search the repository for relevant files containing the 428 matrix — once I find out the exact file names, I can access them with no issue!

Trying direct access to Hadamard file

It seems the math.ntua listing might still be promising, with both text and zip formats for the Hadamard matrix. I’ll try opening the direct file URL instead of the page, hoping it’ll avoid the timeout issues. It’s worth retrying, as the timeout could have been temporary. Let’s try again!

Trying alternative ways to access Hadamard matrix

Since opening the math.ntua.gr server is

Checking old Hadamard links

The page seems to be from 2001, and it has a link to Neil Sloane's library list, which might include the H428 matrix. However, the link for item 8 points to "www.research.att.com ," which could have moved. Let’s click and see if it’s still accessible.

Trying alternative download for Hadamard matrix

The ATT site removed the old page, and Sloane’s library now points to a page that times out. Another option might be using Anymatrix, but GitHub listings aren’t working. I'll try accessing the IPM website directly to download the matrix — maybe the file's URL works better with HTTP instead of HTTPS. Let’s give it a try.

Searching for accessible Hadamard matrix

The page redirects to HTTPS and times out, which might indicate blocking. Maybe the matrix is hosted elsewhere, like in a plain text or PDF format. I’ll search for terms like "h428.txt" or "hadamard428.txt" on cs.uleth.ca — there’s a mention of a PDF that could include it. Let's give that a try.

Opening ADTHM page for possible matrix

I’ve found a listing on cs.uleth, and there’s a link on the ADTHM page that might lead to the matrix in text format. It could be what I’m looking for, so I’ll go ahead and open the ADTHM page to check it out. Let’s see if it includes the matrix!

Accessing matrix text through link

Awesome! I found a link labeled "Entries as text" (ID: 26). This could be the matrix in the text format I’m looking for. I’ll go ahead and click the link to download it. Let’s see if this works!

Parsing the XPM image to a matrix

The H428.html contains XPM image data, not matrix entries. It seems to represent values with two colors, p and m, which likely stand for +1 and -1. I can map p to 1 and m to -1 (just to simplify things) and validate that the Hadamard property holds by checking H*H^T = 428I. I’ll fetch and parse the full content to confirm.

Downloading H428.html

Alright, I’ll use the container.download method to fetch the H428.html file. I previously opened the URL, so that should meet the requirement. Now, I’ll download the file directly to /mnt/data/H428.html and get the content I need. This should work smoothly and efficiently!

Understanding limitations for container.download

It seems the container.download method restricts us to file types other than text/html — likely just images or data. Since I can’t use click or fetch via Python, I'll need to rely on web.run for the content. However, the 200-word limit means we can’t fully retrieve the 428 lines. I may need to process it in parts.

Handling 200-line limits in tool response

Since the tool response gets cut off around 200 words, I can't present more than that in the final output. However, I can strategically open various line ranges and parse those internal portions to reconstruct the full matrix. This should allow me to gather all the necessary data without breaking the word limits.

Handling file retrieval and parsing

To retrieve the full content, I can call the tool multiple times from different lines, reconstructing the file. However, retrieving 428 lines in total means a heavy operation, spread across several calls. Given the content-type restrictions, I can process the data using Python, but I need to work with a local file.

Figuring out how to retrieve and process data

To get more lines, I can use a tool to fetch a longer response, but there’s still a limit to the tool’s output. Since the H428.html file is too large, I could check if there's a plain text version like "H428.txt" in the directory that can be downloaded. I'll also look for any relevant comments in the HTML.

Looking for matrix in different format

The file starts with “/* XPM */,” indicating it’s actually plain text despite being labeled as HTML. I could try adding a download parameter or using a raw link, but the content type restriction remains. Next, I'll check if there's a plain text version of the matrix, like "H428.txt" in the directory.

Considering ways to fetch and process the file

There’s no plain text, but the XPM format might be parseable. I could gradually access the file using the web tool, then reconstruct it with Python. One option is fetching parts with web tool, accumulating in Python, and then processing. I could work around content type restrictions with query parameters for text/plain.

Exploring options to access content

The H428.html doesn’t seem like real HTML. Maybe I can access it through a ?download=1 query or H428.xpm? I might also try the enlarge image link (id 25). If it's a GIF/PNG, I could download it and extract pixel values, though this might involve some image processing. I'll check it out.

Downloading and inspecting image

The image is a PNG, so I can download it using the container. I'll pull down H428_big.png and check the image’s pixel structure. It’s likely 856x856, possibly scaled at 2x, though the matrix should be 428x428. I’ll inspect the image further after downloading it.

Opening image for inspection

The file is small, just 5kb, which likely means it’s compressed and may be a 428x428 image with a palette. I’ll go ahead and open the image to inspect it using the container, and then I can analyze the pixels to understand how it's structured further.

Processing image for matrix conversion

We have the image, so it's time to use Python to read it and convert the pixel colors into matrix entries. First, I need to check the image's pixel dimensions—more likely it will be 428x428 or a multiple of that. I'll use Python with PIL to open the image and confirm

[–] lagrangeinterpolator@awful.systems 13 points 14 hours ago* (last edited 14 hours ago) (3 children)

The AI people are still infatuated with math. The Epoch AI staff, after being thoroughly embarrassed last year by the FrontierMath scandal, have now decided to make a new FrontierMath Open Problems benchmark, this time with problems that people might give a shit about!

I decided to look at one of the easiest "moderately interesting" problems and noticed that GPT-5.2 Pro managed to solve a warm up version of the problem, i.e. a version that had been previously solved. Wow, these reasoning models sure are capable of math! So I was curious and looked at the reasoning trace and it turns out that ... the model just found an obscure website with the right answer and downloaded it. Well, I guess you could say it has some impressive reasoning as it figures out how to download and parse the data, maybe.

[–] lagrangeinterpolator@awful.systems 6 points 21 hours ago* (last edited 21 hours ago)

Hey, you're selling them short: there are also ReLU and softmax activation functions thrown around here and there. Clankers aren't just linear transformations! /j

[–] lagrangeinterpolator@awful.systems 12 points 22 hours ago* (last edited 21 hours ago) (3 children)

I am a computer science PhD so I can give some opinion on exactly what is being solved.

First of all, the problem is very contrived. I cannot think of what the motivation or significance of this problem is, and Knuth literally says that it is a planned homework exercise. It's not a problem that many people have thought about before.

Second, I think this problem is easy (by research standards). The problem is of the form: "Within this object X of size m, find any example of Y." The problem is very limited (the only thing that varies is how large m is), and you only need to find one example of Y for each m, even if there are many such examples. In fact, Filip found that for small values of m, there were tons of examples for Y. In this scenario, my strategy would be "random bullshit go": there are likely so many ways to solve the problem that a good idea is literally just trying stuff and seeing what sticks. Knuth did say the problem was open for several weeks, but:

  1. Several weeks is a very short time in research.
  2. Only he and a couple friends knew about the problem. It was not some major problem many people were thinking about.
  3. It's very unlikely that Knuth was continuously thinking about the problem during those weeks. He most likely had other things to do.
  4. Even if he was thinking about it the whole time, he could have gotten stuck in a rut. It happens to everyone, no matter how much red site/orange site users worship him for being ultra-smart.

I guess "random bullshit go" is served well by a random bullshit machine, but you still need an expert who actually understands the problem to read the tea leaves and evaluate if you got something useful. Knuth's narrative is not very transparent about how much Filip handheld for the AI as well.

I think the main danger of this (putting aside the severe societal costs of AI) is not that doing this is faster or slower than just thinking through the problem yourself. It's that relying on AI atrophies your ability to think, and eventually even your ability to guard against the AI bullshitting you. The only way to retain a deep understanding is to constantly be in the weeds thinking things through. We've seen this story play out in software before.

I was pissed when my (non-academic) friends saw this and immediately started talking about how mathematicians and computer scientists need to use AI from now on.

[–] lagrangeinterpolator@awful.systems 12 points 1 day ago* (last edited 1 day ago)

Baldur Bjarnason's essay remains evergreen.

Consider homeopathy. You might hear a friend talk about “water memory”, citing all sorts of scientific-sounding evidence. So, the next time you have a cold you try it.

And you feel better. It even feels like you got better faster, although you can’t prove it because you generally don’t document these things down to the hour.

“Maybe there is something to it.”

Something seemingly working is not evidence of it working.

  • Were you doing something else at the time which might have helped your body fight the cold?

  • Would your recovery have been any different had you not taken the homeopathic “remedy”?

  • Did your choosing of homeopathy over established medicine expose you to risks you weren’t aware of?

Even when looking at Knuth's account of what happened, you can already tell that the AI is receiving far more credit than what it actually did. There is something about a nondeterministic slot machine that makes it feel far more miraculous when it succeeds, while reliable tools that always do their job are boring and stupid. The downsides of the slot machine never register in comparison to the rewards. Does it feel so miraculous when I get an idea after experimenting in Mathematica?

I feel like math research is particularly susceptible to this, because it is the default that almost all of one's attempts do not succeed. So what if most of the AI's attempts do not succeed? But if it is to be evaluated as a tool, we have to check if the benefits outweigh the costs. Did it give me more productive ideas, or did it actually waste more of my time leading me down blind alleys? More importantly, is the cognitive decline caused by relying on slot machines going to destroy my progress in the long term? I don't think anyone is going to do proper experiments for this in math research, but we have already seen this story play out in software. So many people were impressed by superficial performances, and now we are seeing the dumpster fire of bloat, bugs, and security holes. No, I don't think I want that.

And then there is the narrative of not evaluating AI as an objective tool based on what it can actually do, but instead as a tidal wave of Unending Progress that will one day sweep away those elitists with actual skills. Random lemmas today mean the Millennium Prize problems tomorrow! This is where the AI hype comes from, and why people avoid, say, comparing AI with Mathematica. To them I say good luck. We have dumped hundreds of billions of dollars into this, and there are only so many more hundreds of billions of dollars left. Were these small positive results (and significant negatives) worth hundreds of billions of dollars, or perhaps were there better things that these resources could have been used for?

Don't worry, there's always Effective Altruism if you ever feel guilty about causing the suffering of regular people. Just say you're going to donate your money at some point eventually in the future. There you go, 40 trillion hypothetical lives saved!

[–] lagrangeinterpolator@awful.systems 20 points 4 days ago* (last edited 4 days ago) (2 children)

I decided to take a look at the bitcoin white paper.

Usually, the introduction of a technical paper is fluff and people quickly move on to the technical parts. However, the casual claims made in the first paragraph of this paper have aged extremely poorly, to say the least. In a better world, Bitcoin would have remained as an obscure academic toy, and this introduction would have remained fluff.

While the system works well enough for most transactions, it still suffers from the inherent weaknesses of the trust based model.

What weaknesses are there in the trust based model? Let's find out!

Completely non-reversible transactions are not really possible, since financial institutions cannot avoid mediating disputes. The cost of mediation increases transaction costs, limiting the minimum practical transaction size and cutting off the possibility for small casual transactions, and there is a broader cost in the loss of ability to make non-reversible payments for non-reversible services. With the possibility of reversal, the need for trust spreads. Merchants must be wary of their customers, hassling them for more information than they would otherwise need.

It seems like this guy really loves non-reversible transactions! But as we've seen with the history of crypto, non-reversible transactions sound really good until you fall victim to a crypto scam and there is no way to appeal to the bank to reverse the charges. Reversibility actually increases trust because you no longer need to be absolutely certain that you're dealing with an honest person.

A certain percentage of fraud is accepted as unavoidable.

Almost like that is a problem of human nature. And it's not like cryptocurrency has a spotless record when dealing with fraud! The problem with fraud is not the third party (the bank), but with the second party (the merchant or customer you're dealing with).

The introduction is not long, and most of the paper concerns the technical details of the construction of Bitcoin. By itself, there really is no way to complain about a pile of definitions. But there are still dumb comments that have aged poorly in retrospect.

A block header with no transactions would be about 80 bytes. If we suppose blocks are generated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year. With computer systems typically selling with 2GB of RAM as of 2008, and Moore's Law predicting current growth of 1.2GB per year, storage should not be a problem even if the block headers must be kept in memory.

But why would you want a block header with no transactions? If you wanted to, I don't know, replace the world's financial system, you would need to handle millions of transactions every 10 minutes. How big would the blocks be then? And remember that many copies of the same blockchain would need to be stored (certainly, every miner would need to store a copy). How many thousands or millions of times would that multiply things?

Businesses that receive frequent payments will probably still want to run their own nodes for more independent security and quicker verification.

Turns out it was a bold assumption to think that businesses would just run their own bitcoin miners.

The proof of security (Section 11) is extremely sketchy by modern standards. (They're assuming that all attackers would follow a certain format to attack and not try something different. I get it, proper proofs of security in cryptography are very subtle and difficult.) There is also a page of fluff making random calculations with the Poisson distribution. In any case, the security of Bitcoin requires that the collective computational power of the defenders exceeds the power of any attacker (so the defenders can make new blocks faster).

Bitcoin is very strange as a cryptographic system in that the defender must have more resources than any possible attacker. In most cryptographic systems, the system should be secure even if the attacker has vastly more resources than the defender. Your phone's cryptography should be secure even if some government agency dedicated their supercomputers to try and break it. This means that Bitcoin must waste tons of energy, since that is required to maintain security. Any more energy dumped into it will only increase security and not make the actual transactions faster, which makes Bitcoin horrendously inefficient.

As a purely academic idea in cryptography, it is an interesting curiosity, but the arguments for why it's useful are sketchy. There are other such curiosities that are much more interesting, like homomorphic encryption or secure multiparty computation. It would be a nice line on a CV, but not "incredible".

The true significance of Bitcoin was the terrible libertarian economic argument for it, and the chain of events that would transform it into nothing more than a speculative fashion trend. It has nothing to do with the technical details of Bitcoin. The technical and economic arguments for Bitcoin turned out to be so weak that nowadays, the only real support for Bitcoin is that maybe you can sell it for a higher price to a greater fool.

[–] lagrangeinterpolator@awful.systems 10 points 1 week ago* (last edited 1 week ago) (1 children)

This somehow makes things even funnier. If he had any understanding of modern math, he would know that representing a set of things as points in some geometric space is one of the most common techniques in math. (A basic example: a pair of numbers can be represented by a point in 2D space.) Also, a manifold is an extremely broad geometric concept: knowing that two things are manifolds does not meant that they are the same or even remotely similar, without checking the details. There are tons of things you can model as a manifold if you try hard enough.

From what I see, Scoot read a paper modeling LLM inference with manifolds and thought "wow, cool!" Then he fished for neuroscience papers until he found one that modeled neurons using manifolds. Both of the papers have blah blah blah something something manifolds so there must be a deep connection!

(Maybe there is a deep connection! But the burden of proof is on him, and he needs to do a little more work than noticing that both papers use the word manifold.)

[–] lagrangeinterpolator@awful.systems 6 points 1 week ago (1 children)

Kolmogorov complexity:

So we should see some proper definitions and basic results on the Kolmogorov complexity, like in modern papers, right? We should at least see a Kt or a pKt thrown in there, right?

Understanding IS compression — extracting structure from data. Optimal compression is uncomputable. Understanding is therefore always provisional, always improvable, never verifiably complete. This kills “stochastic parrot” from a second independent direction: if LLMs were memorizing rather than understanding, they could not generalize to inputs not in their training data. But they do. Generalization to novel input IS compression — extracting structure, not regurgitating sequences.

Fuck!

view more: next ›