qml a functional quantum programming language
play

QML: A functional quantum programming language quantum control and - PowerPoint PPT Presentation

QML: A functional quantum programming language quantum control and orthogonality Jonathan Grattage with Thorsten Altenkirch & Alex Green sneezy.cs.nott.ac.uk/qml School of Computer Science & IT, The University of Nottingham QML: A


  1. QML: A functional quantum programming language quantum control and orthogonality Jonathan Grattage with Thorsten Altenkirch & Alex Green sneezy.cs.nott.ac.uk/qml School of Computer Science & IT, The University of Nottingham QML: A functional quantum programming language – p.1/14

  2. What is QML? • A high–level quantum programming language with a structure familiar to functional programmers, which supports reasoning and and algorithm design QML: A functional quantum programming language – p.2/14

  3. What is QML? • A high–level quantum programming language with a structure familiar to functional programmers, which supports reasoning and and algorithm design • Simplifing the design of quantum programs by: Allowing formal reasoning principles for quantum programs Giving a more intuitive understanding of quantum algorithms QML: A functional quantum programming language – p.2/14

  4. What is QML? • A high–level quantum programming language with a structure familiar to functional programmers, which supports reasoning and and algorithm design • Simplifing the design of quantum programs by: Allowing formal reasoning principles for quantum programs Giving a more intuitive understanding of quantum algorithms • A functional quantum programming language , LICS 2005 with Thorsten Altenkirch QML: A functional quantum programming language – p.2/14

  5. What is QML? • A high–level quantum programming language with a structure familiar to functional programmers, which supports reasoning and and algorithm design • Simplifing the design of quantum programs by: Allowing formal reasoning principles for quantum programs Giving a more intuitive understanding of quantum algorithms • A functional quantum programming language , LICS 2005 with Thorsten Altenkirch • An Algebra of Pure Quantum Programming , QPL 2005 with Thorsten Altenkirch, Juliana K. Vizzotto, & Amr Sabry QML: A functional quantum programming language – p.2/14

  6. What is QML? • A high–level quantum programming language with a structure familiar to functional programmers, which supports reasoning and and algorithm design • Simplifing the design of quantum programs by: Allowing formal reasoning principles for quantum programs Giving a more intuitive understanding of quantum algorithms • A functional quantum programming language , LICS 2005 with Thorsten Altenkirch • An Algebra of Pure Quantum Programming , QPL 2005 with Thorsten Altenkirch, Juliana K. Vizzotto, & Amr Sabry • Project Site: QML@CS.Nott – sneezy.cs.nott.ac.uk/qml QML: A functional quantum programming language – p.2/14

  7. Quantum Languages • P. Zuliani, PhD 2001, Quantum Programming (qGCL) • P. Selinger, MSCS 2003, Towards a Quantum Programming Language (QPL) • A. van Tonder, SIAM 2003, A Lambda Calculus for Quantum Computation • A. Sabry, Haskell 2003, Modeling quantum computing in Haskell • P. Selinger and B. Valiron, TLCA 2005, A lambda calculus for quantum computation with classical control • . . . QML: A functional quantum programming language – p.3/14

  8. Quantum Languages • • P. Zuliani, PhD 2001, Quantum Programming (qGCL) • P. Selinger, MSCS 2003, Towards a Quantum Programming Language (QPL) • A. van Tonder, SIAM 2003, A Lambda Calculus for Quantum Computation • A. Sabry, Haskell 2003, Modeling quantum computing in Haskell • P. Selinger and B. Valiron, TLCA 2005, A lambda calculus for quantum computation with classical control • . . . • Quantum data, Classical control QML: A functional quantum programming language – p.3/14

  9. QML Overview • A first-order functional language for quantum computations on finite types QML: A functional quantum programming language – p.4/14

  10. QML Overview • A first-order functional language for quantum computations on finite types • “Quantum Data and Control” QML: A functional quantum programming language – p.4/14

  11. QML Overview • A first-order functional language for quantum computations on finite types • “Quantum Data and Control” • Based on strict linear logic - controlled, explicit, weakening QML: A functional quantum programming language – p.4/14

  12. QML Overview • A first-order functional language for quantum computations on finite types • “Quantum Data and Control” • Based on strict linear logic - controlled, explicit, weakening • Operational Semantics: Quantum Circuit Model QML: A functional quantum programming language – p.4/14

  13. QML Overview • A first-order functional language for quantum computations on finite types • “Quantum Data and Control” • Based on strict linear logic - controlled, explicit, weakening • Operational Semantics: Quantum Circuit Model • Denotational Semantics: Superoperators QML: A functional quantum programming language – p.4/14

  14. QML Overview • A first-order functional language for quantum computations on finite types • “Quantum Data and Control” • Based on strict linear logic - controlled, explicit, weakening • Operational Semantics: Quantum Circuit Model • Denotational Semantics: Superoperators • Notion of Finite Quantum Computations ( FQC ) developed by analogy with Finite Classical Computations ( FCC ) QML: A functional quantum programming language – p.4/14

  15. Classical v. Quantum QML: A functional quantum programming language – p.5/14

  16. Classical v. Quantum Classical Case ( FCC ) Quantum Case ( FQC ) QML: A functional quantum programming language – p.5/14

  17. Classical v. Quantum Classical Case ( FCC ) Quantum Case ( FQC ) Finite sets QML: A functional quantum programming language – p.5/14

  18. Classical v. Quantum Classical Case ( FCC ) Quantum Case ( FQC ) Finite sets Finite dimensional Hilbert spaces QML: A functional quantum programming language – p.5/14

  19. Classical v. Quantum Classical Case ( FCC ) Quantum Case ( FQC ) Finite sets Finite dimensional Hilbert spaces Cartesian product ( × ) QML: A functional quantum programming language – p.5/14

  20. Classical v. Quantum Classical Case ( FCC ) Quantum Case ( FQC ) Finite sets Finite dimensional Hilbert spaces Cartesian product ( × ) Tensor product ( ⊗ ) QML: A functional quantum programming language – p.5/14

  21. Classical v. Quantum Classical Case ( FCC ) Quantum Case ( FQC ) Finite sets Finite dimensional Hilbert spaces Cartesian product ( × ) Tensor product ( ⊗ ) Bijections QML: A functional quantum programming language – p.5/14

  22. Classical v. Quantum Classical Case ( FCC ) Quantum Case ( FQC ) Finite sets Finite dimensional Hilbert spaces Cartesian product ( × ) Tensor product ( ⊗ ) Bijections Unitary operators QML: A functional quantum programming language – p.5/14

  23. Classical v. Quantum Classical Case ( FCC ) Quantum Case ( FQC ) Finite sets Finite dimensional Hilbert spaces Cartesian product ( × ) Tensor product ( ⊗ ) Bijections Unitary operators Functions QML: A functional quantum programming language – p.5/14

  24. Classical v. Quantum Classical Case ( FCC ) Quantum Case ( FQC ) Finite sets Finite dimensional Hilbert spaces Cartesian product ( × ) Tensor product ( ⊗ ) Bijections Unitary operators Functions Superoperators QML: A functional quantum programming language – p.5/14

  25. Classical v. Quantum Classical Case ( FCC ) Quantum Case ( FQC ) Finite sets Finite dimensional Hilbert spaces Cartesian product ( × ) Tensor product ( ⊗ ) Bijections Unitary operators Functions Superoperators Injective functions QML: A functional quantum programming language – p.5/14

  26. Classical v. Quantum Classical Case ( FCC ) Quantum Case ( FQC ) Finite sets Finite dimensional Hilbert spaces Cartesian product ( × ) Tensor product ( ⊗ ) Bijections Unitary operators Functions Superoperators Injective functions Isometries QML: A functional quantum programming language – p.5/14

  27. Classical v. Quantum Classical Case ( FCC ) Quantum Case ( FQC ) Finite sets Finite dimensional Hilbert spaces Cartesian product ( × ) Tensor product ( ⊗ ) Bijections Unitary operators Functions Superoperators Injective functions Isometries Projections QML: A functional quantum programming language – p.5/14

  28. Classical v. Quantum Classical Case ( FCC ) Quantum Case ( FQC ) Finite sets Finite dimensional Hilbert spaces Cartesian product ( × ) Tensor product ( ⊗ ) Bijections Unitary operators Functions Superoperators Injective functions Isometries Projections Partial trace QML: A functional quantum programming language – p.5/14

  29. QML Syntax • Types: σ = Q 1 | Q 2 | σ ⊗ τ QML: A functional quantum programming language – p.6/14

  30. QML Syntax • Types: σ = Q 1 | Q 2 | σ ⊗ τ • Syntax: ( Variables ) x , y , ... ∈ Vars ( Prob . amplitudes ) κ, ι, ... ∈ C ( Patterns ) ::= x | ( x , y ) p , q y | () | ( t , u ) t , u , e ::= x | x � ( Terms ) | let p = t in u | t then u else u ′ if if ◦ t then u else u ′ | false | true | − → | 0 | κ × t | t + u QML: A functional quantum programming language – p.6/14

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