Undergraduate Course: Categories and Quantum Informatics (INFR11128)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Year 5 Undergraduate)
||Availability||Available to all students
|Summary||There are several languages for programming quantum protocols. Each has its own strengths and weaknesses. This course surveys current platforms (OpenQAsm, Qiskit, Q#, Quipper, Quantomatic, and PyZX) and analyses their respective features semantically. The theoretical analysis uses category theory, a powerful mathematical tool in logic and informatics, that has influenced the design of many modern programming languages. It enables a powerful graphical calculus that lets you draw pictures instead of writing algebraic expressions. This technique is visually extremely insightful, yet completely rigorous. For example, correctness of protocols often comes down to whether a picture is connected or disconnected, whether there is information flow from one end to another. In a practical way, this course investigates the conceptual reasons why quantum protocols and quantum computing work, rather than their algorithmic and complexity-theoretic aspects.
The course has two parallel tracks: a practical one, and a theoretical one. The practical track surveys different quantum programming platforms. These include OpenQAsm, Qiskit, Q#, Quipper, Quantomatic, and PyZX. We discuss their basic structure, strengths, and weaknesses. Via labs and live coding in lectures, students get hands-on experience of implementing small quantum programs. The emphasis is on the primitive programming constructs and structure of each language, not on large-scale quantum software development.
Simultaneously, the theoretical track analyses the features of each language in denotational semantics, focusing on monoidal categories. Via lectures and self-study reading, the course teaches students the basics of dual objects in monoidal categories. Specific attention is paid to the graphical calculus, which makes the topic visually apparent. Via exercise sheets, and their review incorporated into the contact hours, the student learns to graphically manipulate algebraic objects such as monoids and Frobenius structures. They will understand that this still allows perfectly rigorous proofs of correctness, and be able to see the information flow of a protocol that is often hidden behind superfluous details.
Throughout the course, the practical and theoretical material is linked. We will study notions typically thought to belong to quantum theory, such as entanglement, no-cloning, teleportation, and complementarity. It will turn out some of these notions also make perfect sense in other settings. For example, the very same categorical description of quantum teleportation also describes classical encryption with a one-time pad. We identify characteristics of classical and quantum information, aiming to equip students to choose the right tools and techniques for future problems they may encounter.
Entry Requirements (not applicable to Visiting Students)
|Prohibited Combinations|| Students MUST NOT also be taking
Categories and Quantum Informatics (UG) (INFR11232)
||Other requirements|| MSc students must register for this course, while Undergraduate students must register for INFR11128 instead.
This course assumes the following prerequisite knowledge:
* Basic knowledge of linear algebra, vector spaces, and complex numbers, as well as experience with mathematical abstraction
* Basic programming skills in both imperative and functional languages (such as Python and Haskell) equivalent to 2 semesters of introductory programming.
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2022/23, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 18,
Seminar/Tutorial Hours 5,
Supervised Practical/Workshop/Studio Hours 3,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Non-assessed exercise sheets will prepare the student for the exam, with the opportunity for feedback during tutorials. Programming exercises will be released all at once, with submission deadline all at the end of the course. Non-compulsory lab sessions will give the student opportunity to work on them in a structured environment. One programming exercise will not count towards the grade, but will instead be given formative feedback on halfway the course.
||Hours & Minutes
|Main Exam Diet S2 (April/May)||Categories and Quantum Informatics (INFR11128)||2:00|
On completion of this course, the student will be able to:
- identify features of current quantum programming platforms
- model quantum protocols categorically and prove their correctness graphically
- apply and prove basic results about monoidal categories
- fluently manipulate the graphical calculus for compact categories
- differentiate between categories modelling classical and quantum informatics
|Categories for Quantum Theory: An Introduction by C. Heunen and J. Vicary, Oxford University Press, 2019.|
|Graduate Attributes and Skills
||Obtain, organise, and use factual, theoretical, and/or hypothetical information in problem solving
Make generalisations and predictions
Present and evaluate arguments, information and ideas routine to the subject
Undertake critical analysis, evaluation and synthesis of ideas and concepts within the common understandings of the subject
|Keywords||Category Theory,Quantum Computing,Semantics
|Course organiser||Dr Christiaan Heunen
Tel: (0131 6)50 2865
|Course secretary||Ms Lindsay Seal
Tel: (0131 6)50 2701