Eigenvectors from eigenvalues
Peter Denton, Stephen Parke, Xining Zhang, and I have just uploaded to the arXiv the short unpublished note “Eigenvectors from eigenvalues”. This note gives two proofs of a general eige…
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 417 posts.
Peter Denton, Stephen Parke, Xining Zhang, and I have just uploaded to the arXiv the short unpublished note “Eigenvectors from eigenvalues”. This note gives two proofs of a general eige…
The Sensitivity Conjecture, which I blogged about here, says that, for every Boolean function f:{0,1}n→{0,1}, the sensitivity of f—that is, the maximum, over all 2n input strings x∈{0,1}n, of…
While I was writing the Wolfenstein 3D book [1] , I wanted to demonstrate how much of a handicap it was to work without floating points. My attempts at understanding floating points using canonical [2] articles [3] were met with resistance from my brain. I tried to find a different way. Something far from $(-1)^S *…
More Updates (Oct. 12): Jeffrey Ketchersid has used Claude Code agents to show that BusyBeaver(10) exceeds Graham’s number, beating the previous best result that BB(13) does so. In response t…
Over the last several years, I’ve rewritten Rust’s regex crate to enable better internal composition, and to make it easier to add optimizations while maintaining correctness. In the course of this rewrite I created a new crate, regex-automata , which exposes much of the regex crate internals as their own APIs for…
Movement for a single object seems easy. Pathfinding is complex. Why bother with pathfinding? Consider the following situation:
The notorious Jacobian conjecture can be formulated concretely over the complex numbers as follows. Conjecture 1 (Jacobian Conjecture) Let $latex {F:{\bf C}^n \rightarrow {\bf C}^n}&fg=000000$ …
Author’s note: this article used to be called “What Every ComputerProgrammer Should Know About Floating Point, part 1”. Some peoplenoted that this was perh...
Principal component analysis (PCA) is a technique used to emphasize variation and bring out strong patterns in a dataset. It's often used to make data easy to explore and visualize.
Posted by Nick Johnson | Filed under bittorrent , lt-codes , damn-cool-algorithms , fountain-codes
The Wavefunction Collapse Algorithm teaches your computer how to riff. The algorithm takes in an archetypical input, and produces procedurally-generated outputs that look like it.
What does matrix multiplication mean? Here's a few common intuitions: This is useful when first learning about vectors: vectors go in, new ones come out.…
Rotate a cube by 90 degrees around the \(x\)-axis, then rotate it by 90 degrees around the \(z\)-axis. This is equivalent to a single rotation. What is the axis and angle of this single rotation?
PREFACE. This essay was written in 2009. Since then, a few errata have been corrected and I embedded the youtube videos, but there have been no substantial additions. I think it still holds up fairly well, but if I were to rewrite it today, I would change some things. My main regret is using the criteria of maximum…
In a recent Hacker News post I made reference to an interesting teaching experience I had in the mid-90s. This is a longer explanation of ...
Posted by Nick Johnson | Filed under python , tech , coding , damn-cool-algorithms
On the 100th anniversary of Einstein’s Theory of Relativity, Stephen Wolfram discusses the nature of space and time, and fundamental theory of physics.
Many people are surprised to learn that `sed`, a seemingly simple text filtering program, is actually Turing complete. This realization prompts the question: how can a text processing utility achieve such computational power? The answer lies in sed's fundamental operations. Essentially, sed functions as a miniature...
Konstantin Preißer made an interesting discovery , after reading my article “ PHP Hangs On Numeric Value 2.2250738585072011e-308 ”: Java — both its runtime and compiler — go into an infinite loop when converting the decimal number 2.2250738585072012e-308 to double-precision binary floating-point. This number is…
Dual_EC was almost certainly an NSA backdoor. Extended Random is the TLS extension that would have made it practical to exploit. Did NSA plant that one too? A look at the evidence.
In 1989, I wrote an article for the magazine Engineering & Science about the state of technical folding, which, even then, seemed to be progressing by leaps and bounds due to an infusion of scientific and mathematical principles. In recounting some of the connections between origami, math, and technology, I wrote:
A review of Red Plenty, by Francis Spufford
Making decision despite missing SQL data (NULL): How to avoid OR…IS NULL in the WHERE clause.
Every once in a while the internet gets talking about Geometric Algebra (henceforth GA) and how it’s a new theory of math that fixes everything that’s wrong with linear algebra and multivariable calculus. When I come across this stance I am compelled to respond with something like: “wait wait, it’s not true! GA is…