functional quantum programming
play

Functional Quantum Programming Thorsten Altenkirch University of - PowerPoint PPT Presentation

Functional Quantum Programming Thorsten Altenkirch University of Nottingham based on joint work with Jonathan Grattage and discussions with V.P . Belavkin Functional Quantum Programming p. 1/44 Background Functional Quantum Programming


  1. � � � � Composing classical computations A C B φ β φ α H α G α � � � � � � � � � � � � � � � � � � � � � � � � H β � � � G β � � � φ β ◦ α Exercise: Define I . Functional Quantum Programming – p. 9/44

  2. Extensional equality Functional Quantum Programming – p. 10/44

  3. � � Extensional equality Every computation α gives rise to a function U FCC α ∈ A → B � B × G A × H φ π 1 ( − ,h ) � B A U FCC α Functional Quantum Programming – p. 10/44

  4. � � Extensional equality Every computation α gives rise to a function U FCC α ∈ A → B � B × G A × H φ π 1 ( − ,h ) � B A U FCC α α = ext β, if U FCC α = U FCC β Functional Quantum Programming – p. 10/44

  5. � � Extensional equality Every computation α gives rise to a function U FCC α ∈ A → B � B × G A × H φ π 1 ( − ,h ) � B A U FCC α α = ext β, if U FCC α = U FCC β Objects fi nite sets FCC : Morphisms computations / = ext . Functional Quantum Programming – p. 10/44

  6. U FCC U FCC I = I U FCC ( β ◦ α ) = ( U FCC β ) ◦ ( U FCC α ) Functional Quantum Programming – p. 11/44

  7. U FCC U FCC I = I U FCC ( β ◦ α ) = ( U FCC β ) ◦ ( U FCC α ) U FCC is a functor U FCC : FCC → FinSet . Functional Quantum Programming – p. 11/44

  8. U FCC U FCC I = I U FCC ( β ◦ α ) = ( U FCC β ) ◦ ( U FCC α ) U FCC is a functor U FCC : FCC → FinSet . U FCC is faithful (trivially). Functional Quantum Programming – p. 11/44

  9. U FCC U FCC I = I U FCC ( β ◦ α ) = ( U FCC β ) ◦ ( U FCC α ) U FCC is a functor U FCC : FCC → FinSet . U FCC is faithful (trivially). Exercise: U FCC is full! Functional Quantum Programming – p. 11/44

  10. Coming next: Quantum computations Develop FQC analogously to FCC . . . Functional Quantum Programming – p. 12/44

  11. Linear algebra revision Functional Quantum Programming – p. 13/44

  12. Linear algebra revision Given a fi nite set A (the base) C A = A → C is a Hilbert space . Functional Quantum Programming – p. 13/44

  13. Linear algebra revision Given a fi nite set A (the base) C A = A → C is a Hilbert space . Linear operators: f ∈ A → B → C induces ˆ f ∈ C A → C B . we write f ∈ A ⊸ B Functional Quantum Programming – p. 13/44

  14. Linear algebra revision Given a fi nite set A (the base) C A = A → C is a Hilbert space . Linear operators: f ∈ A → B → C induces ˆ f ∈ C A → C B . we write f ∈ A ⊸ B Norm of a vector: � v � = Σ a ∈ A ( va ) ∗ ( va ) ∈ R + , Functional Quantum Programming – p. 13/44

  15. Linear algebra revision Given a fi nite set A (the base) C A = A → C is a Hilbert space . Linear operators: f ∈ A → B → C induces ˆ f ∈ C A → C B . we write f ∈ A ⊸ B Norm of a vector: � v � = Σ a ∈ A ( va ) ∗ ( va ) ∈ R + , Unitary operators: A unitary operator φ ∈ A ⊸ unitary B is a linear isomorphism that preserves the norm. Functional Quantum Programming – p. 13/44

  16. Basics of quantum computation Functional Quantum Programming – p. 14/44

  17. Basics of quantum computation A pure state over A is a vector v ∈ C A with unit norm � v � = 1 . Functional Quantum Programming – p. 14/44

  18. Basics of quantum computation A pure state over A is a vector v ∈ C A with unit norm � v � = 1 . A reversible computation is given by a unitary operator φ ∈ A ⊸ unitary B . Functional Quantum Programming – p. 14/44

  19. Quantum computations ( FQC ) Functional Quantum Programming – p. 15/44

  20. � Quantum computations ( FQC ) Given fi nite sets A (input) and B (output): A B φ h � H G Functional Quantum Programming – p. 15/44

  21. � Quantum computations ( FQC ) Given fi nite sets A (input) and B (output): A B φ h � H G a fi nite set H , the base of the space of initial heaps, Functional Quantum Programming – p. 15/44

  22. � Quantum computations ( FQC ) Given fi nite sets A (input) and B (output): A B φ h � H G a fi nite set H , the base of the space of initial heaps, a heap initialisation vector h ∈ C H , Functional Quantum Programming – p. 15/44

  23. � Quantum computations ( FQC ) Given fi nite sets A (input) and B (output): A B φ h � H G a fi nite set H , the base of the space of initial heaps, a heap initialisation vector h ∈ C H , a fi nite set G , the base of the space of garbage states, Functional Quantum Programming – p. 15/44

  24. � Quantum computations ( FQC ) Given fi nite sets A (input) and B (output): A B φ h � H G a fi nite set H , the base of the space of initial heaps, a heap initialisation vector h ∈ C H , a fi nite set G , the base of the space of garbage states, a unitary operator φ ∈ A ⊗ H ⊸ unitary B ⊗ G . Functional Quantum Programming – p. 15/44

  25. Composing quantum computations Functional Quantum Programming – p. 16/44

  26. � � � � Composing quantum computations A C B φ β φ α H α G α � � � � � � � � � � � � � � � � � � � � � � � � H β � � � G β � � � φ β ◦ α Functional Quantum Programming – p. 16/44

  27. Extensional equality. . . Functional Quantum Programming – p. 17/44

  28. Extensional equality. . . . . . is a bit more subtle. Functional Quantum Programming – p. 17/44

  29. � � Extensional equality. . . . . . is a bit more subtle. There is no sensible operator replacing π 1 on vector spaces: � B ⊗ G A ⊗ H φ −⊗ h ??? � B A ??? Functional Quantum Programming – p. 17/44

  30. � � Extensional equality. . . . . . is a bit more subtle. There is no sensible operator replacing π 1 on vector spaces: � B ⊗ G A ⊗ H φ −⊗ h ??? � B A ??? Indeed: Forgetting part of a pure state results in a mixed state . Functional Quantum Programming – p. 17/44

  31. Density Operators A mixed state on A is given by a density operator ρ ∈ A ⊸ A such that all eigenvalues are positive reals ⇒ λ ∈ R + ρ v = λv = ˆ and has a unit trace Σ a ∈ A.v a = 1 Functional Quantum Programming – p. 18/44

  32. Superoperators Functional Quantum Programming – p. 19/44

  33. Superoperators A superoperator f ∈ A ⊸ super B is a linear operator on density operators which is completely positive. Functional Quantum Programming – p. 19/44

  34. Superoperators A superoperator f ∈ A ⊸ super B is a linear operator on density operators which is completely positive. A unitary operator φ ∈ A ⊸ unitary B gives rise to a superoperator φ † ∈ A ⊸ super B . Functional Quantum Programming – p. 19/44

  35. Superoperators A superoperator f ∈ A ⊸ super B is a linear operator on density operators which is completely positive. A unitary operator φ ∈ A ⊸ unitary B gives rise to a superoperator φ † ∈ A ⊸ super B . Partial trace: tr A,G ∈ A ⊗ G ⊸ super A Functional Quantum Programming – p. 19/44

  36. Extensional equality Functional Quantum Programming – p. 20/44

  37. � � Extensional equality Every computation α gives rise to a superoperator U α ∈ A ⊸ super B � B ⊗ G A ⊗ H � φ −⊗ � tr G h � B A U FQC α Functional Quantum Programming – p. 20/44

  38. � � Extensional equality Every computation α gives rise to a superoperator U α ∈ A ⊸ super B � B ⊗ G A ⊗ H � φ −⊗ � tr G h � B A U FQC α α = ext β, if U FQC α = U FQC β Functional Quantum Programming – p. 20/44

  39. � � Extensional equality Every computation α gives rise to a superoperator U α ∈ A ⊸ super B � B ⊗ G A ⊗ H � φ −⊗ � tr G h � B A U FQC α α = ext β, if U FQC α = U FQC β Objects fi nite sets FCC : Morphisms computations / = ext . Functional Quantum Programming – p. 20/44

  40. U FQC Functional Quantum Programming – p. 21/44

  41. U FQC U FQC I = I U FQC ( β ◦ α ) = ( U FQC β ) ◦ ( U FQC α ) Functional Quantum Programming – p. 21/44

  42. U FQC U FQC I = I U FQC ( β ◦ α ) = ( U FQC β ) ◦ ( U FQC α ) U FQC is a functor U FQC : FQC → Super . Functional Quantum Programming – p. 21/44

  43. U FQC U FQC I = I U FQC ( β ◦ α ) = ( U FQC β ) ◦ ( U FQC α ) U FQC is a functor U FQC : FQC → Super . U FQC is faithful (trivially). Functional Quantum Programming – p. 21/44

  44. U FQC U FQC I = I U FQC ( β ◦ α ) = ( U FQC β ) ◦ ( U FQC α ) U FQC is a functor U FQC : FQC → Super . U FQC is faithful (trivially). U FQC is full! Functional Quantum Programming – p. 21/44

  45. Classical vs quantum Functional Quantum Programming – p. 22/44

  46. Classical vs quantum classical quantum Functional Quantum Programming – p. 22/44

  47. Classical vs quantum classical quantum finite sets Functional Quantum Programming – p. 22/44

  48. Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces Functional Quantum Programming – p. 22/44

  49. Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections Functional Quantum Programming – p. 22/44

  50. Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators Functional Quantum Programming – p. 22/44

  51. Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators cartesian product ( × ) Functional Quantum Programming – p. 22/44

  52. Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators cartesian product ( × ) tensor product ( ⊗ ) Functional Quantum Programming – p. 22/44

  53. Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators cartesian product ( × ) tensor product ( ⊗ ) functions Functional Quantum Programming – p. 22/44

  54. Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators cartesian product ( × ) tensor product ( ⊗ ) functions superoperators Functional Quantum Programming – p. 22/44

  55. Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators cartesian product ( × ) tensor product ( ⊗ ) functions superoperators projections Functional Quantum Programming – p. 22/44

  56. Classical vs quantum classical quantum finite sets finite dimensional Hilbert spaces bijections unitary operators cartesian product ( × ) tensor product ( ⊗ ) functions superoperators projections partial trace Functional Quantum Programming – p. 22/44

  57. Decoherence Functional Quantum Programming – p. 23/44

  58. � Decoherence • 2 2 0 � ���� ���� φ π 1 φ δ Functional Quantum Programming – p. 23/44

  59. � Decoherence • 2 2 0 � ���� ���� φ π 1 φ δ Classically π 1 ◦ δ = I Functional Quantum Programming – p. 23/44

  60. � Decoherence • 2 2 0 � ���� ���� φ π 1 φ δ Classically π 1 ◦ δ = I Quantum Functional Quantum Programming – p. 23/44

Recommend


More recommend