Home   Teaching  PHY605  Announcement/Update  AcademicCalendar

PHY 605 Quantum Programming

(Spring 2024) Days/Time: MW 01:00-02:20PM; Location: CHEMISTRY 126
3 credits, Letter graded (A, A-, B+, etc.)
This course will meet twice a week for 90 minutes per meeting.
Instructor:  Tzu-Chieh Wei  <tzu-chieh.wei[at]stonybrook[dot]edu>
Office hours: by appointment
TA: Hongye Yu <hongye.yu[at]stonybrook[dot]edu>

Course description :
The field of quantum information and computation has evolved to a stage where there are quantum devices that can be programmed and various tasks and algorithms can be tested on these devices. This course introduces various quantum programming frameworks. It aims to provide a more practical approach of learning quantum computing by programming, via softwares developed using Python. Important basic quantum algorithms will be reviewed and learned by programming them and simulating their action. Moreover, an emphasis will be paid to the so-called Variational Quantum Eigensolver that has already been used on many problems, from molecular energies and optimization to financial applications and quantum machine learning. Some illustration of quantum programming will be done on IBM's transmon-type cloud quantum computers. Beyond the circuit-based quantum computers, programming quantum annealers will provide an alternative approach to solve a wide family of optimization problems.

Prerequisite: PHY 568 Quantum Information Science (or other related courses, such as CSE 550 Quantum Computing and Applications) or permission by the instructor

For undergraduates: This course may be taken by upper-level undergraduates.. It needs the permission and the signature of the instructor in order to register for this course; permission form can be downloaded here.

Course objectives/Student learning outcomes:
Students who have completed this course
 • will be able to explain quantum computation of the standard circuit approach and analyze how basic quantum algorithms work
 • will be able to write Python codes to program these quantum algorithms and design ones based on existing algorithms
 • will be able to apply various quantum algorithms for applications, such as optimization problems and scientific problems

Textbooks:
There is no required textbook. But there are recommended textbooks :
Quantum Computation and Quantum Information, M. Nielsen and I. Chuang (Cambridge University Press)
Learn Quantum Computation using Qiskit (free digital textbook) [update: which is not longer maintained by IBM, now at Github]
IBM Quantum Learning (website with various resources)
Quantum Computing: An Applied Approach, Jack D. Hidary (Springer)
Further bibliographic resources will be provided as the course progresses.

Assessment and Grading: Grades: (tentative) Course grades on a 100 point scale are: A (93-100); A- (90-92); B+ (87-89); B (83-86); B- (80-82); C+ (77-79); C (73-76); C- (70-72); F (69 or lower)
Note that the following grading system will be used for graduate students: A (4.0), A- (3.67), B+ (3.33), B (3.00), B- (2.67), C+ (2.33), C (2.00), C-(1.67), F (0.00). Graded/Pass/No Credit (G/P/NC) and grades of D are not approved grades for graduate students.

Homework 50%, Quiz/Participation 10%, Final project 40%
The homework grading is based on the level of correctness and clarity of logical steps demonstrated in students’ solutions or whether the codes can be run successfully. Final project grading is based on the content, key concepts, organization, coding, analysis of results, and documentation.

Topics to be covered and tentative syllabus
(This is a tentative syllabus. Exam dates and homework due dates may change.)
A Qiskit version created by IBM Education Team (Sanket Panda and Leron Gil) for this syllabus is located here (PHY605 Qiskit Sylabus).

(week 1)  Overview of this course and review of linear algebra, basics of quantum mechanics, quantum bits and quantum gates; overview of Python and the use of Jupyter Notebook
(week 2)  More quantum gates and circuit model of quantum computation; quantum algorithms including Deutsch, Deutsch-Josza, Simons, Vazirani-Berstein.
(week 3) IBM Qiskit framework and programming algorithms of week 2
(week 4) Grover's quantum search algorithm and its programming and The variational quantum eigensolver (VQE) and its programming.
(week 5) Machine learning and Quantum Machine Learning; introducing PyTorch and PennyLane for programming quantum machine learning
(week 6) Quantum Fourier Transform, quantum phase estimation, Shor’s factoring algorithm and quantum linear system (such as the HHL algorithm), and their programming
(week 7) Advanced topic: quantum computing for molecular energies in Quantum Chemistry
(week 8) Overview of other software frameworks, such as D-Wave’s quantum annealers and programming on D-Wave's SDK Ocean and/or Amazon Braket
(week 9) Qutip: simulating quantum dynamics and the master's equation. Cavity and atoms.
(week 10) Qutip: case studies
(week 11) Quantum communication: Quantum key distribution, Ekert's protocol, quantum teleportation, entanglement swapping
(week 12) Overview on NetSquid and/or SeQUeNce for simulating quantum internet
(week 13) Establishing long range entanglement; realistic case study
(week 14)  (Student project presentation)
(week 15)  (Student project presentation)

Academic Integrity Statement
Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty is required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology & Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty please refer to the academic judiciary website at http://www.stonybrook.edu/commcms/academic_integrity/index.html

Critical Incident Management
Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of University Community Standards any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures. Further information about most academic matters can be found in the Undergraduate Bulletin, the Undergraduate Class Schedule, and the Faculty-Employee Handbook.