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

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