This fall I entered the Duke Quantum Hackathon 2026, the “Quantum Echoes” challenge run by BlueQubit with DuQuantum. I finished 24th out of 199 with a score of 1,919 out of 3,000. I want to tell you what the problems actually were and what I learned, because the most valuable part wasn’t the ranking. It was learning where the real limit sits when you simulate quantum circuits.
What’s an echo circuit?
Every problem was an OTOC echo circuit. OTOC stands for “out-of-time-order correlator,” and the idea is easier than the name. You run a quantum system forward, give one qubit a small nudge (a “butterfly”), then run the system backward. If the nudge stayed local, the system comes back almost where it started. If it spread through the system and scrambled, the echo fades. For each qubit we had to report one number, the expected Z readout ⟨Z⟩: near 1 means the echo came back cleanly, and near 0 means the information scrambled away.
There were seven problem sets that got bigger and harder:
- S1, S2, S3 (4, 16 and 30 qubits): open samples, worth 100 points each.
- G1 (30 qubits): 300 points.
- G2 (36 qubits): 600 points.
- G3 (36 qubits): 800 points.
- G4 (38 qubits): 1,000 points, the hardest one.
Up to 30 qubits, a regular computer can still simulate the circuit exactly, so S1, S2, S3 and G1 got exact simulation and full marks. Above that, exact simulation stops being possible and you have to use approximations. That’s where the real contest started.

The real floor was truncation, not compute
To be clear, everything in this hackathon ran on classical simulators. There was no quantum hardware and no hardware noise. What I ran into is that on the hard circuits, the limit on my results wasn’t how much computing power I had. It was truncation error: the information each approximation method quietly throws away to stay affordable.
On G2 I used matrix-product-state (MPS) simulation, which compresses the quantum state and caps how much entanglement it keeps (the “bond dimension”). Raising the bond dimension step by step from 32 to 256 took my score from 342 to 549 out of 600. But the ladder never fully converged, so I studied how it failed instead of only pushing it higher. The truncation pushed values upward in a predictable way. I added a fixed correction for that bias plus a half-step extrapolation along the last rung, both set in advance using circuits where I knew the exact answers, and G2 went to 591 out of 600.

G4 humbled me. I switched to a Pauli-path simulator, which tracks the most important pieces of the evolving operator and drops anything below a threshold. On this circuit, even the finest threshold the platform allowed cut away almost everything. Sixteen qubits came back as exact zeros at every threshold, which meant every path that would have carried the echo was cut. Twenty more came back with tiny leftover values, below what the simulator could really resolve. Only two qubits gave clean, repeatable signals.
So most of my G4 work was figuring out which leftovers still carried information. When I zeroed the tiny values, my score went down, which told me they weren’t pure noise. Their signs held up even though their sizes didn’t. I ended up keeping the sign the simulator reported and estimating the size from how far the operator had spread. My early G4 rules were fixed before any scores. For the later versions, I used the returned scores to choose between approaches I had already written down and to decide which direction to push the estimate, and I disclosed that in each note. G4 went from 17 to 298 out of 1,000. That’s not a lot of points, but most of them came from learning to read what the approximation left behind.
Rules first, scores second
The part I’m proudest of is the discipline. On a leaderboard it’s tempting to tweak numbers until the score goes up. I tried hard not to. For every submission I wrote a method note. Wherever I could, corrections were fixed ahead of time from test sets with known answers, and no individual value was ever set by hand. When I did use a returned score to choose between methods I had already written down, as I did in later G3 and G4 versions, I said so in that file’s note. I also noted which runs used purchased compute credit, with the organizers’ go-ahead.
I had AI assistance for tooling, analysis and planning, and I say so in every note. The thinking, the choices and the calls about what counts as honest were mine.

Why this matters to me
Every approximation has a blind spot. Getting good at this kind of work means finding that blind spot, measuring it, and correcting for it honestly, without pretending it isn’t there. That’s the kind of independent science I want to keep doing, and the habit I’m bringing to what comes next.
If you want to back that work, my fundraiser is here: https://gofund.me/1b608e7a4
— Joseph Messina
Leave a Reply