Algorithmic Assertions
Craig Gidney's computer science blog
ScienceMathAlgorithms / data structuresSoftware / engineering practice
- Posts
- 130 from 16 Oct 2012 to 22 Oct 2026
- Posting
- monthly (8 in the last year)
- Kind
- personal blog
- Feed
- https://algassert.com/feed.xml
2026 7
- Who is John Quarmack?
- The Underappreciated Art of Superposition Masking
- Unfathomable bugs #10: The Broken Windows Build
- The French have the Quantum Circuits
- The predictable failure of the QDay Prize
- On Eastin-Knill Being Wrong
- [Paper] Securing Elliptic Curve Cryptocurrencies against Quantum Vulnerabilities: Resource Estimates and Mitigations
2025 3
2016 3
2015 19
- Quantum Teleportation's Two Subroutines
- My Misconceptions: The Quantum Latch
- Quantum vs NP #2: Zachary B. Walters 'A linear time quantum algorithm for 3SAT'
- [Un]popular Qubits #2: The Quantum Zeno Effect
- YOU versus Bell Tests and the No Communication Theorem
- Rule of Thumb: Make Generic Code Value-Agnostic instead of Null-Hostile
- My Misconceptions: The Unintegrable Function
- Partially Erasing Entanglement: Measuring a GHZ Triplet into a Bell Pair
- Quantum vs NP #1-B: Simulating a Claimed NP=BQP Algorithm
- Quantum vs NP #1: Checking a Claimed BQP=NP Algorithm
- Unit Testing with Symbols
- Things I Can't Solve: Multiplication
- Using Quantum Gates instead of Ancilla Bits
- Constructing Large Increment Gates
- Constructing Large Controlled Nots
- Impractical Experiments #3: Treating Controls Like Values
- A Quantum Network Flow Puzzle
- Entangled States are like Unitary Matrices
- Superdense Coding on the Fly and in Reverse
2014 31
- [Un]popular Qubits #1: Quantum Compression
- Dust your Tests
- Perfect Symmetry Breaking with Quantum Computers
- Converting Rotations into "Nice" Qubit Operations
- Interpolating Qubit Operations
- Logical Ingredients of a Quantum Computer
- Puzzle: Boxing Megaspheres
- Rule of Thumb: Preconditions Should be Public
- Counter-intuitive Counterfactual Strategies
- Eating Lions, Wolves, and Goats Faster
- Don't Trust the DOM
- Cancelling Cancellation
- Lower Bounding the Space Complexity of One-Pass Algorithms
- Storing Bandwidth with Quantum Teleportation
- Storing Bandwidth with Superdense Coding
- The (not) Quantum Laplace Transform
- Puzzle: Deflipping a Quantum Coin
- Unfathomable Bugs #8: Day to Day
- Rule of Thumb: The Condition is the Message
- Don't Make Javascript Equality Look Worse Than It Is
- Bad Ideas #1: Java-Style Methods in Objective-C
- Positive Bias and Testing
- Puzzle: Encoding the Remaining Card
- Ordering Cyclic Sequence Numbers
- Building your own Quantum Fourier Transform
- [Meta] A New Home
- [Un]popular Qubits #3: The Quantum Pigeonhole Principle
- Catching a Crypto Bug in RedPhone
- Don't Use Github Pages' Jekyll Support
- Paper as Problem: 'Non-local measurements via quantum erasure'
- Wrapping Structure Around Batched Methods
2013 55
- Protecting Control Flow with Nested Evals
- Gradually Copying a Quantum Brain
- Eve's Quantum Clone Computer
- Reducing Test Boilerplate with Ascii Diagrams
- My Quantum Circuit Simulator: Quirk
- Ultradense Coding would allow FTL Signalling
- Erasure is Post-Selection
- Using Multiplication to Cut Gates from the QFT
- Quantum vs NP #2-B: Simulating 'A linear time quantum algorithm for 3SAT'
- [Un]popular Qubits #4: Affecting Atoms by Looking at Emitted Light
- Wait, What?: Genetic Algorithms for Digital Quantum Simulations
- Turning Gradients into Additions into QFTs
- Java should Autobox Arrays, or maybe not
- A Resource State won't get you out of Clifford Jail
- Post-selection is cheating
- The Quantum Version of the One-Time Pad is Teleportation
- Unfathomable Bugs #9: Lossy Shader Packing
- Quirk's Performance History
- Half-Baked Thoughts for a Quantum Scripting Language
- From Swapping to Teleporting with Simple Circuit Moves
- Bra-Ket Notation Trivializes Matrix Multiplication
- Improper Priors
- Turning Detection into Correction with Quantum Teleportation
- Quantum Data Locking vs Recognizable Data
- Quantum Bomb Detector Detectors
- Trouble Adding Constants into Qubit Registers
- [Meta] Joining Google's Quantum AI Team
- Bugs from the Future: Hadamard Coins and Implicit Measurement
- Why care about circuit width?
- Difficulty of Classical Control
- Thinking of Operations as Controls
- Quirk v2.0 - Bowing to Convention
- Efficient Controlled Phase Gradients
- Simple Algorithm for Multiplicative Inverses mod 2ⁿ
- Computing Fractional Fourier Transforms
- [Meta] Who Owns Quirk?
- My Preprints #1: Dirty Period Finding
- Impractical Experiments #4: High Powered Phase Estimation
- Reversible Computation isn't Free
- My Preprints #2: A Slightly Smaller Surface Code S Gate
- Visualizing 2-Qubit Entanglement
- Breaking Down the Quantum Swap
- Shor's Quantum Factoring Algorithm
- Proxy Phasing and Computed Phasing
- A Classical Delayed Choice Experiment
- Why Will Quantum Computers be Slow?
- Canonicalizing H+S+CNOT+T Circuits
- The Bee Movie Singularity
- Announcement: My Quantum Cloud Service
- A Slightly Larger S Gate
- Roulette Selection fit for a Quantum Computer
- Improving Block Code Distillation (Part 1)
- Improving Block Code Distillation (Part 2)
- Improving Block Code Distillation (Part 3)
- Constant Depth Encoded Addition
2012 12
- Weakening the Born Rule
- Verifying Measurement Based Uncomputation
- The Frauchiger-Renner Paradox is a Sleeping Beauty Problem
- Spooky Pebble Games and Irreversible Uncomputation
- Producing an N+1 Qubit CCZ State with an N Qubit Adder
- Surviving Chain Link Erasures
- Factoring the largest number ever with a quantum computer
- Decorrelated Depolarization
- Inverting Clifford Tableaus
- Briskly Biased Bits
- The mundane uses of quantum computers
- Why haven't quantum computers factored 21 yet?