The Curious Engineer

All blogs / Science

Algorithmic Assertions

algassert.com

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

  1. Who is John Quarmack?
  2. The Underappreciated Art of Superposition Masking
  3. Unfathomable bugs #10: The Broken Windows Build
  4. The French have the Quantum Circuits
  5. The predictable failure of the QDay Prize
  6. On Eastin-Knill Being Wrong
  7. [Paper] Securing Elliptic Curve Cryptocurrencies against Quantum Vulnerabilities: Resource Estimates and Mitigations

2025 3

  1. Quantum Error Correction goes FOOM
  2. CCX+HMR isn't universal, unless you can prepare |+>
  3. Actually, you can't test if quantum uses complex numbers

2016 3

  1. Unknowable, but Equal
  2. Using Eigendecomposition to Convert Rotations and Interpolate Operations
  3. Deflating Delayed Choice Quantum Erasure

2015 19

  1. Quantum Teleportation's Two Subroutines
  2. My Misconceptions: The Quantum Latch
  3. Quantum vs NP #2: Zachary B. Walters 'A linear time quantum algorithm for 3SAT'
  4. [Un]popular Qubits #2: The Quantum Zeno Effect
  5. YOU versus Bell Tests and the No Communication Theorem
  6. Rule of Thumb: Make Generic Code Value-Agnostic instead of Null-Hostile
  7. My Misconceptions: The Unintegrable Function
  8. Partially Erasing Entanglement: Measuring a GHZ Triplet into a Bell Pair
  9. Quantum vs NP #1-B: Simulating a Claimed NP=BQP Algorithm
  10. Quantum vs NP #1: Checking a Claimed BQP=NP Algorithm
  11. Unit Testing with Symbols
  12. Things I Can't Solve: Multiplication
  13. Using Quantum Gates instead of Ancilla Bits
  14. Constructing Large Increment Gates
  15. Constructing Large Controlled Nots
  16. Impractical Experiments #3: Treating Controls Like Values
  17. A Quantum Network Flow Puzzle
  18. Entangled States are like Unitary Matrices
  19. Superdense Coding on the Fly and in Reverse

2014 31

  1. [Un]popular Qubits #1: Quantum Compression
  2. Dust your Tests
  3. Perfect Symmetry Breaking with Quantum Computers
  4. Converting Rotations into "Nice" Qubit Operations
  5. Interpolating Qubit Operations
  6. Logical Ingredients of a Quantum Computer
  7. Puzzle: Boxing Megaspheres
  8. Rule of Thumb: Preconditions Should be Public
  9. Counter-intuitive Counterfactual Strategies
  10. Eating Lions, Wolves, and Goats Faster
  11. Don't Trust the DOM
  12. Cancelling Cancellation
  13. Lower Bounding the Space Complexity of One-Pass Algorithms
  14. Storing Bandwidth with Quantum Teleportation
  15. Storing Bandwidth with Superdense Coding
  16. The (not) Quantum Laplace Transform
  17. Puzzle: Deflipping a Quantum Coin
  18. Unfathomable Bugs #8: Day to Day
  19. Rule of Thumb: The Condition is the Message
  20. Don't Make Javascript Equality Look Worse Than It Is
  21. Bad Ideas #1: Java-Style Methods in Objective-C
  22. Positive Bias and Testing
  23. Puzzle: Encoding the Remaining Card
  24. Ordering Cyclic Sequence Numbers
  25. Building your own Quantum Fourier Transform
  26. [Meta] A New Home
  27. [Un]popular Qubits #3: The Quantum Pigeonhole Principle
  28. Catching a Crypto Bug in RedPhone
  29. Don't Use Github Pages' Jekyll Support
  30. Paper as Problem: 'Non-local measurements via quantum erasure'
  31. Wrapping Structure Around Batched Methods

2013 55

  1. Protecting Control Flow with Nested Evals
  2. Gradually Copying a Quantum Brain
  3. Eve's Quantum Clone Computer
  4. Reducing Test Boilerplate with Ascii Diagrams
  5. My Quantum Circuit Simulator: Quirk
  6. Ultradense Coding would allow FTL Signalling
  7. Erasure is Post-Selection
  8. Using Multiplication to Cut Gates from the QFT
  9. Quantum vs NP #2-B: Simulating 'A linear time quantum algorithm for 3SAT'
  10. [Un]popular Qubits #4: Affecting Atoms by Looking at Emitted Light
  11. Wait, What?: Genetic Algorithms for Digital Quantum Simulations
  12. Turning Gradients into Additions into QFTs
  13. Java should Autobox Arrays, or maybe not
  14. A Resource State won't get you out of Clifford Jail
  15. Post-selection is cheating
  16. The Quantum Version of the One-Time Pad is Teleportation
  17. Unfathomable Bugs #9: Lossy Shader Packing
  18. Quirk's Performance History
  19. Half-Baked Thoughts for a Quantum Scripting Language
  20. From Swapping to Teleporting with Simple Circuit Moves
  21. Bra-Ket Notation Trivializes Matrix Multiplication
  22. Improper Priors
  23. Turning Detection into Correction with Quantum Teleportation
  24. Quantum Data Locking vs Recognizable Data
  25. Quantum Bomb Detector Detectors
  26. Trouble Adding Constants into Qubit Registers
  27. [Meta] Joining Google's Quantum AI Team
  28. Bugs from the Future: Hadamard Coins and Implicit Measurement
  29. Why care about circuit width?
  30. Difficulty of Classical Control
  31. Thinking of Operations as Controls
  32. Quirk v2.0 - Bowing to Convention
  33. Efficient Controlled Phase Gradients
  34. Simple Algorithm for Multiplicative Inverses mod 2ⁿ
  35. Computing Fractional Fourier Transforms
  36. [Meta] Who Owns Quirk?
  37. My Preprints #1: Dirty Period Finding
  38. Impractical Experiments #4: High Powered Phase Estimation
  39. Reversible Computation isn't Free
  40. My Preprints #2: A Slightly Smaller Surface Code S Gate
  41. Visualizing 2-Qubit Entanglement
  42. Breaking Down the Quantum Swap
  43. Shor's Quantum Factoring Algorithm
  44. Proxy Phasing and Computed Phasing
  45. A Classical Delayed Choice Experiment
  46. Why Will Quantum Computers be Slow?
  47. Canonicalizing H+S+CNOT+T Circuits
  48. The Bee Movie Singularity
  49. Announcement: My Quantum Cloud Service
  50. A Slightly Larger S Gate
  51. Roulette Selection fit for a Quantum Computer
  52. Improving Block Code Distillation (Part 1)
  53. Improving Block Code Distillation (Part 2)
  54. Improving Block Code Distillation (Part 3)
  55. Constant Depth Encoded Addition

2012 12

  1. Weakening the Born Rule
  2. Verifying Measurement Based Uncomputation
  3. The Frauchiger-Renner Paradox is a Sleeping Beauty Problem
  4. Spooky Pebble Games and Irreversible Uncomputation
  5. Producing an N+1 Qubit CCZ State with an N Qubit Adder
  6. Surviving Chain Link Erasures
  7. Factoring the largest number ever with a quantum computer
  8. Decorrelated Depolarization
  9. Inverting Clifford Tableaus
  10. Briskly Biased Bits
  11. The mundane uses of quantum computers
  12. Why haven't quantum computers factored 21 yet?