categorical models of quantum computation peter selinger
play

Categorical models of quantum computation Peter Selinger Dalhousie - PowerPoint PPT Presentation

Categorical models of quantum computation Peter Selinger Dalhousie University Halifax, Canada 1 Part I: Quantum Computation 2 The QRAM abstract machine [Knill96] Classical device: control Quantum device: master slave (general purpose)


  1. Categorical models of quantum computation Peter Selinger Dalhousie University Halifax, Canada 1

  2. Part I: Quantum Computation 2

  3. The QRAM abstract machine [Knill96] Classical device: control Quantum device: master slave (general purpose) results • General-purpose classical computer controls a special quantum hardware device • Quantum device provides a bank of individually addressable qubits. • Left-to-right: instructions. • Right-to-left: results. 3

  4. Linear Algebra Review • Scalars λ ∈ C , column vectors u ∈ C n , matrices A ∈ C n × m . • Adjoint A ∗ = ( a ji ) ij , trace tr A = � i a ii , norm � A � 2 = � ij | a ij | 2 . • Unitary matrix S ∈ C n × n if S ∗ S = I . Change of basis: B = SAS ∗ ⇒ tr B = tr A , � B � = � A � . • Hermitian matrix A ∈ C n × n : if A = A ∗ . Hermitian positive: u ∗ Au ≥ 0 for all u ∈ C n . Diagonalization: A = SDS ∗ , S unitary, D real diagonal. � � � � 0 1 0 B • Tensor product A ⊗ B , e.g. ⊗ B = . − 1 0 − B 0 4

  5. Quantum computation: States Consider the complex vector space C 2 , with basis {| 0 � , | 1 � } . • state of one qubit: α | 0 � + β | 1 � ( superposition of | 0 � and | 1 � ). • state of two qubits: α | 00 � + β | 01 � + γ | 10 � + δ | 11 � . ( a | 0 � + b | 1 � ) ( c | 0 � + d | 1 � ) = • independent : ⊗ ac | 00 � + ad | 01 � + bc | 10 � + bd | 11 � . • otherwise entangled . 5

  6. Lexicographic convention Identify the basis states | 00 � , | 01 � , | 10 � , | 11 � with the standard basis vectors         1 0 0 0 0 1 0 0          ,  ,  ,  ,         0 0 1 0             0 0 0 1 in the lexicographic order. Note: we use column vectors for states.   α β    = α | 00 � + β | 01 � + γ | 10 � + δ | 11 � .   γ    δ 6

  7. Quantum computation: Operations • unitary transformation • measurement 7

  8. Unitary operations Given an n -qubit state v ∈ C 2 ⊗ . . . ⊗ C 2 . To apply the unitary operation U : C 2 → C 2 to qubit i means v ′ = ( I ⊗ . . . ⊗ I ) v ⊗ U ⊗ I ⊗ . . . ⊗ I � �� � � �� � i − 1 n − i To apply the unitary operation W : C 4 → C 4 to qubits i, i + 1 means v ′ = ( I ⊗ . . . ⊗ I ) v ⊗ W ⊗ I ⊗ . . . ⊗ I � �� � � �� � i − 1 n − i − 1 8

  9. Some standard unitary gates Unary: Binary: � � � � 0 1 I 0 N = , N c = , 1 0 0 N � � � � 1 1 I 0 1 H = H c = , , √ 1 − 1 0 H 2 � � � � 1 0 I 0 V = , V c = , 0 i 0 V   1 0 0 0 � � � � 1 0 I 0 0 0 1 0   √ W = W c = X = , ,  .   0 W 0 1 0 0 0 i    0 0 0 1 9

  10. Measurement α | 0 � + β | 1 � 0 1 | α | 2 | β | 2 α | 0 � β | 1 � 10

  11. Two Measurements α | 00 � + β | 01 � + γ | 10 � + δ | 11 � 0 1 | α | 2 + | β | 2 | γ | 2 + | δ | 2 α | 00 � + β | 01 � γ | 10 � + δ | 11 � 0 1 0 1 | α | 2 | β | 2 | γ | 2 | δ | 2 | α | 2 + | β | 2 | α | 2 + | β | 2 | γ | 2 + | δ | 2 | γ | 2 + | δ | 2 α | 00 � β | 01 � γ | 10 � δ | 11 � Note: Normalization convention. 11

  12. Pure vs. mixed states A mixed state is a (classical) probability distribution on quantum states. Ad hoc notation: � � � � � � � � α ′ 1 + 1 α β ′ β 2 2 Note: A mixed state is a description of our knowledge of a state. An actual closed quantum system is always in a (possibly unknown) pure state. 12

  13. Density matrices (von Neumann) � � α ∈ C 2 by the matrix Represent the pure state v = β � α α ¯ � α ¯ β vv ∗ = ∈ C 2 × 2 . α β ¯ β ¯ β Represent the mixed state λ 1 { v 1 } + . . . + λ n { v n } by λ 1 v 1 v ∗ 1 + . . . + λ n v n v ∗ n . This representation is not one-to-one, e.g. � � � � � � � � � � � � � � 1 + 1 = 1 + 1 1 0 1 0 0 0 .5 0 = 0 1 0 0 0 1 0 .5 2 2 2 2 � 1 � 1 � � � � � � � � � � � � 1 + 1 = 1 + 1 − .5 1 1 .5 .5 .5 .5 0 √ √ = 1 − 1 .5 .5 − .5 .5 0 .5 2 2 2 2 2 2 But these two mixed states are indistinguishable. 13

  14. Quantum operations on density matrices Unitary: vv ∗ � → Uvv ∗ U ∗ A � → UAU ∗ v � → Uv Measurement: α α ¯ � � � � � � α ¯ α β a b α β ¯ β ¯ β β c d 0 1 0 1 0 1 | α | 2 | β | 2 β ¯ β a α ¯ α d � � � � � � � � � � � � α 0 α ¯ α 0 0 0 a 0 0 0 0 β ¯ 0 β 0 0 β 0 0 0 d 14

  15. A complete partial order of density matrices Let D n = { A ∈ C n × n | A is positive hermitian and tr A ≤ 1 } . Definition. We write A ⊑ B if B − A is positive. Theorem. The density matrices form a complete partial order under ⊑ . • A ⊑ A • A ⊑ B and B ⊑ A ⇒ A = B • A ⊑ B and B ⊑ C ⇒ A ⊑ C • every increasing sequence A 1 ⊑ A 2 ⊑ . . . has a least upper bound 15

  16. Part II: The Flow Chart Language 16

  17. Earlier Quantum Programming Languages • Knill (1996): conventions for writing pseudo-code • ¨ Omer (1998): scratch space management, user defined operators • Sanders and Zuliani (2000): specification language, stepwise refinement • Bettelli, Calarco, and Serafini (2001): based on C ++ Imperative languages, run-time checks and errors, no formal semantics. 17

  18. First: the classical case. A simple classical flow chart input b, c : bit b, c : bit branch b 0 1 b, c : bit b := c b, c : bit b, c : bit c := 0 b, c : bit ◦ b, c : bit output b, c : bit 18

  19. Classical flow chart, with boolean variables expanded input b, c : bit 00 01 10 11 ◦ ◦ ◦ ◦ ( ∗ branch b ∗ ) ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ( ∗ b := c ∗ ) ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ( ∗ c := 0 ∗ ) ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ( ∗ merge ∗ ) ◦ ◦ ◦ ◦ output b, c : bit 00 01 10 11 19

  20. Classical flow chart, with boolean variables expanded input b, c : bit 00 01 10 11 A B C D ◦ ◦ ◦ ◦ ( ∗ branch b ∗ ) ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ 0 0 C D ◦ ◦ ◦ ◦ ( ∗ b := c ∗ ) ◦ ◦ ◦ ◦ A B 0 0 C 0 0 D ◦ ◦ ◦ ◦ ( ∗ c := 0 ∗ ) ◦ ◦ ◦ ◦ C 0 D 0 ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ( ∗ merge ∗ ) ◦ ◦ ◦ ◦ A + C B D 0 output b, c : bit 00 01 10 11 19-a

  21. A simple classical flow chart input b, c : bit b, c : bit branch b 0 1 b, c : bit b := c b, c : bit b, c : bit c := 0 b, c : bit ◦ b, c : bit output b, c : bit 20

  22. A simple classical flow chart input b, c : bit b, c : bit = ( A, B, C, D ) branch b 0 1 b, c : bit = ( 0, 0, C, D ) b := c b, c : bit = ( A, B, 0, 0 ) b, c : bit = ( C, 0, 0, D ) c := 0 b, c : bit = ( C, 0, D, 0 ) ◦ b, c : bit = ( A + C, B, D, 0 ) output b, c : bit 20-a

  23. Summary of classical flow chart components Allocate bit: Discard bit: b : bit , Γ = ( A, B ) Γ = A new bit b := 0 discard b b : bit , Γ = ( A, 0 ) Γ = A + B Assignment: Branching: b : bit , Γ = ( A, B ) b : bit , Γ = ( A, B ) b : bit , Γ = ( A, B ) b := 0 b := 1 branch b 0 1 b : bit , Γ = ( 0, B ) b : bit , Γ = ( A, 0 ) b : bit , Γ = ( A + B, 0 ) b : bit , Γ = ( 0, A + B ) Merge: Initial: Permutation: b 1 , . . . , b n : bit = A 0 , . . . , A 2 n − 1 Γ = A Γ = B ◦ ◦ permute φ Γ = A + B Γ = 0 b φ ( 1 ) , . . . , b φ ( n ) : bit = A 2 φ ( 0 ) , . . . , A 2 φ ( 2 n − 1 ) 21

  24. The quantum case: A simple quantum flow chart input p, q : qbit p, q : qbit measure p 0 1 p, q : qbit p, q : qbit q ∗ = N p ∗ = N p, q : qbit p, q : qbit ◦ p, q : qbit output p, q : qbit 22

  25. A simple quantum flow chart input p, q : qbit � � A B p, q : qbit = C D measure p � � 0 1 � � A 0 0 0 p, q : qbit = p, q : qbit = 0 0 0 D q ∗ = N p ∗ = N � � D 0 NAN ∗ 0 � � p, q : qbit = p, q : qbit = 0 0 0 0 ◦ NAN ∗ + D 0 � � p, q : qbit = 0 0 output p, q : qbit 22-a

  26. Summary of quantum flow chart components Allocate qbit: Discard qbit: � A � B q : qbit , Γ = Γ = A C D discard q new qbit q := 0 � A � 0 q : qbit , Γ = Γ = A + D 0 0 Unitary transformation: Measurement: � A � B q : qbit , Γ = q : qbit , Γ = A ¯ C D measure q q ∗ = S ¯ � A � 0 � � 0 0 1 q : qbit , Γ = 0 q : qbit , Γ = q : qbit , Γ = ( S ⊗ I ) A ( S ⊗ I ) ∗ 0 0 0 D ¯ Merge: Initial: Permutation: q 1 , . . . , q n : qbit = ( a ij ) ij Γ = A Γ = B ◦ permute φ ◦ Γ = 0 q φ ( 1 ) , . . . , q φ ( n ) : qbit = ( a 2 φ ( i ) ,2 φ ( j ) ) ij Γ = A + B 23

  27. Combining classical data with quantum data Consider typing contexts of the form b 1 : bit , . . . , b n : bit , q 1 : qbit , . . . , q m : qbit . Definition. A state for the above typing context is a tuple ( A 0 , . . . , A 2 n − 1 ) of 2 n density matrices of dimension 2 m × 2 m . 24

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend