# FYS4446/9446 – Quantum computing and quantum machine learning ### Level: Master and PhD ### Credits: 10 ### Teaching: Every Spring ### Examination: Every Spring ### Teaching language: Norwegian (English on request) ## Course content Quantum Computing is the intersection of computer science, mathematics and quantum physics which utilizes the phenomena of quantum mechanics to perform computations which classical computers cannot perform. Quantum computers are faster than classical computers and provides significant speedup in different kinds of algorithms such as searching data elements or breaking RSA encryption systems. The aim of this course is to present how quantum computing algorithms can be used to study quantum mechanical systems and how they can be used to solve machine learning problems. The course explores core concepts of quantum computing such as superposition, interference and entanglement as well as how to set up quantum gates and construct quantum circuits. It discusses also quantum gate decomposition and quantum circuit optimization of large quantum circuits and how to study quantum machine learning algorithms. Finally, it discusses how to run these algorithms on both classical and real quantum computers. ## Learning outcome After this course you should : - be able to apply quantum computing algorithms to selected quantum-mechanical many-particle systems - be able to describe the differences between quantum and classical computation of quantum mechanical many-particle systems - be able to discern potential performance gains of quantum vs. classical algorithms. - be able to implement and design quantum circuits for studies of quantum mechanical systems - be able to run these algorithms on existing quantum computers - understand the role of noise in quantum computing - be able to implement central machine learning algorithms on quantum computers - be able to study both classical and quantum mechanical data sets ## Admission Students admitted at UiO must apply for courses in Studentweb. Students enrolled in other Master's Degree Programmes can, on application, be admitted to the course if this is cleared by their own study programme. Nordic citizens and applicants residing in the Nordic countries may apply to take this course as a single course student. If you are not already enrolled as a student at UiO, please see our information about admission requirements and procedures for international applicants. ## Prerequisites Recommended previous knowledge A good background in mathematics is needed. Other recommended courses are: FYS3110 – Quantum Mechanics FYS4480 - Quantum mechanics for many-particle systems FYS-STK4155 - Applied Data Analysis and Machine Learning MAT3420 – Quantum Computing ## Overlapping courses None ## Teaching The course is based on assigned self studies and three projects. There are no regular lectures. Meetings every week (lasting two hours) are arranged in order to monitor progress and discuss projects and exercises. ## Examination Three project assignments that each is given a weight of 1/3 in the final grading (100% together). There is no final exam. ### Examination support material No examination support material is allowed. ## Language of examination You may write your examination papers in Norwegian, Swedish, Danish or English. ## Grading scale Grades are awarded on a scale from A to F, where A is the best grade and F is a fail. Read more about the grading system. For PhD students it is only pass/not passed. Detailed content: ### Introduction to quantum computing - The qubit - System of qubits - Superposition and entanglement - Inner and outer products - Measurements - Unitary transformations and gates - Observables and expectation values - Quantum circuits - Implementations on a real quantum computer - Quantun linera algebra ### Classes of quantum algorithms - Grover’s Algorithm - Phase estimation - Shor’s Algorithm for Integer Factorization - Solving quantum mechanical problem with variational eigensolvers - Algorithms implemented on IBM’s ### Quantum state preparation and entaglement - single quibit preparation - Schmidt decomposition - Two-qubit state preparation and two-qubit gate preparation - Entaglement in qubit systems ### Quantum tomography - Problem definition and background - Survey of existing methods ### Tests of quantum error correction - Problem definition and background - Errors in single qubit control - Errors in entangled two- and many-qubit systems ### Application of Quantum algorithms - The IBM quantum computer - Programming of many-qubit systems, the IBM quantum computer: Qiskit library ### Quantum machine Learning - Quantum Boltzmann machines - Quantum support vector machines