230 likes | 397 Views
Improved Simulation of Stabilizer Circuits. 0 0 1 0 0 1 0 0. 0 0. +ZI +IX. 1 0 0 0 0 0 0 1. 0 0. +XI +IZ. Scott Aaronson (UC Berkeley) Joint work with Daniel Gottesman (Perimeter). Quantum Computing: New Challenges for Computer Architecture.
E N D
Improved Simulation of Stabilizer Circuits 0 0 1 00 1 0 0 00 +ZI+IX 1 0 0 00 0 0 1 00 +XI+IZ Scott Aaronson (UC Berkeley) Joint work with Daniel Gottesman (Perimeter)
Quantum Computing:New Challenges for Computer Architecture • Can’t speculate on a measurement and then roll back • Cache coherence protocols violate no-cloning theorem • How do you design and debug circuits that you can’t even simulate efficiently with existing tools?
Our Approach: Start With A Subset of Quantum Computations • Stabilizers (Gottesman 1996): Beautiful formalism that captures much (but not all) of quantum weirdness • Linear error-correcting codes • Teleportation • Dense quantum coding • GHZ (Greenberger-Horne-Zeilinger) paradox
AMAZING FACTThese gates are NOT universal—Gottesman & Knill showed how to simulate them quickly on a classical computerTo see why we need some group theory… Gates Allowed In Stabilizer Circuits 1. Controlled-NOT |00|00, |01|01, |10|11, |11|10 2. Hadamard |0(|0+|1)/2|1 (|0-|1)/2 H 1 0 0 i 3. Phase = |0|0, |1i|1 P 4. Measurement of a single qubit
Pauli Matrices: Collect ‘Em All 1 0 0 1 0 1 1 0 0 -i i 0 1 0 0 -1 I = X = Y = Z = X2=Y2=Z2=I XY=iZ YZ=iX ZX=iY XZ=-iY ZY=-iX YX=-iZ Unitary matrix U stabilizes a quantum state | if U| = |. Stabilizers of | form a group X stabilizes |0+|1 -X stabilizes |0+|1 Y stabilizes |0+i|1 -Y stabilizes |0-i|1 Z stabilizes |0 -Z stabilizes |1
Gottesman-Knill Theorem If | can be produced from the all-0 state by just CNOT, Hadamard, and phase gates, then | is stabilized by 2n tensor products of Pauli matrices or their opposites (where n = number of qubits) So the stabilizer group is generated by log(2n)=n such tensor products Indeed, | is then uniquely determined by these generators, so we call | a stabilizer state
OUCH! Goal: Using a classical computer, simulate an n-qubit CNOT/Hadamard/Phase computer. Gottesman & Knill’s solution: Keep track of n generators of the stabilizer groupEach generator uses 2n+1 bits: 2 for each Pauli matrix and 1 for the sign. So n(2n+1) bits total Example: But measurement takes O(n3) steps by Gaussian elimination CNOT(12) |01+|11 |01+|10 +XI-IZ +XX-ZZ Updating stabilizers takes only O(n) steps
Our Faster, Easier-To-Implement Tableau Algorithm • Idea: Instead of n(2n+1) bits, store 2n(2n+1) bits • n stabilizers S1,…,Sn, 2n+1 bits each • n “destabilizers” D1,…,Dn Together generate full Pauli group • Maintain the following invariants: • Di’s commute with each other • Si anticommutes with Di • Si commutes with Dj for ij
I: xij=0, zij=0 + phase: ri=0X: xij=1, zij=0 - phase: ri=1Y: xij=1, zij=1Z: xij=0, zij=1 State: |00 xij bits zij bits ri bits D1D2 1 0 0 00 1 0 0 00 +XI+IX Destabilizers 0 0 1 00 0 0 1 00 +ZI+IZ S1S2 Stabilizers
Hadamard on qubit a: For all i{1,…,2n}, swap xia with zia, and setri := ri xiazia State: |00 1 0 0 00 1 0 0 00 +XI+IX Destabilizers 0 0 1 00 0 0 1 00 +ZI+IZ Stabilizers
State: |00+|10 0 0 1 00 1 0 0 00 +ZI+IX Destabilizers 1 0 0 00 0 0 1 00 +XI+IZ Stabilizers
CNOT from qubit a to qubit b: For all i{1,…,2n}, set xib := xib xia andzia := zia zib State: |00+|10 0 0 1 00 1 0 0 00 +ZI+IX Destabilizers 1 0 0 00 0 0 1 00 +XI+IZ Stabilizers
State: |00+|11 0 0 1 00 1 0 0 00 +ZI+IX Destabilizers 1 1 0 00 0 1 1 00 +XX+ZZ Stabilizers
Phase on qubit a: For all i{1,…,2n}, set ri := ri xiazia, then setzia := zia xia State: |00+|11 0 0 1 00 1 0 0 00 +ZI+IX Destabilizers 1 1 0 00 0 1 1 00 +XX+ZZ Stabilizers
State: |00+i|11 0 0 1 00 1 0 1 00 +ZI+IY Destabilizers 1 1 0 10 0 1 1 00 +XY+ZZ Stabilizers
Measurement of qubit a: If xia=0 for all i{n+1,…,2n}, then outcome will be deterministic. Otherwise 0 with ½ probability and 1 with ½ probability. State: |00+i|11 0 0 1 00 1 0 1 00 +ZI+IY Destabilizers 1 1 0 10 0 1 1 00 +XY+ZZ Stabilizers
Random outcome:Pick a stabilizer Si such that xia=1 and set Di:=Si. Then set Si:=Za and output 0 with ½ probability, and set Si:=-Za and output with ½ probability, where Za is Z on ath qubit and I elsewhere. Finally, left-multiply whatever rows don’t commute with Si by Di State: |11 1 1 0 10 1 0 1 00 +XY+IY Destabilizers 0 0 1 00 0 1 1 10 -ZI+ZZ Stabilizers
Novel part: How to obtain deterministic measurement outcomes in only O(n2) steps, without using Gaussian elimination? • Za must commute with stabilizer, so • for a unique choice of c1,…,cn{0,1}. If we can determine ci’s, then by summing corresponding Sh’s we learn sign of Za. Now • So just have to check if Di commutes with Za, or equivalently if xia=1
CHP Code Example: Quantum Teleportation | h 1 c 1 2 c 0 1 h 0 m 0 m 1 c 0 3 c 1 4 c 4 2 h 2 c 3 2 h 2 H Alice’s Qubits |0 H |0 H H | |0 Bob’s Qubits |0 Prepare EPR pair Alice’s part Bob’s part CHP: An interpreter for “quantum assembly language” programs that implements our scoreboard algorithm
Performance of CHP Average time needed to simulate a measurement after applying βnlogn random unitary gates to n qubits, on a 650MHz Pentium III with 256MB RAM
Simulating Stabilizer Circuits is L-Complete L = class of problems reducible in logarithmic space to evaluating a circuit of CNOT gates Natural, well-studied subclass of P Conjectured that L P. So our result means stabilizer circuits probably aren’t even universal for classical computation! Simulating L with stabilizer circuits: Obvious Simulating stabilizer circuits with L : Harder
Fun With Stabilizers How many n-qubit stabilizer states are there? Can we represent mixed states in the stabilizer formalism? YES Can we efficiently compute the inner product between two stabilizer states? YES
Future Directions • Measurements (at least some) in O(n) steps? • Apply CHP to quantum error-correction, studying conjectures about entanglement in many-qubit systems… • Efficient minimization of stabilizer circuits? • Superlinear lower bounds on stabilizer circuit size? • Other quantum computations with efficient classical simulations: bounded entanglement (Vidal 2003), “matchgates” (Valiant 2001)…