Please check the workshop website for updates.
- Description: This course intends to introduce aspects of quantum computing that are not always covered in Physics classes, as they involve computational concepts such as complexity, circuit model and algorithms. We will get our hands dirty using Qiskit, IBM's quantum programming language.
- Workload: 8h
- Requirements: linear algebra, familiarity with programming (preferrably Python)
- Bibliography:
- Nielsen, Michael A., and Isaac Chuang. "Quantum computation and quantum information." (2002).
- Lecture Notes for Physics 219: Quantum Computation https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.70.9272&rep=rep1&type=pdf
- Qiskit textbook: https://qiskit.org/textbook/preface.html
- Basic Agorithms in Qiskit: https://github.com/arthurfaria/QC_basic_agorithms_qiskit
-
Day 1: Introduction
- Overview of the field: what it is, what it is not, who invests and how to study.
- Bits x Qubits: differences and physical implementations. Linear algebra review: row and column vectors, matrices, tensor product. Relationship with physical concepts. Eigenvalues equation. Introduction of Dirac notation.
- Computing with logic gates: classical and quantum comparison. Common gates: Pauli matrices, CNOT, Hadamard, Ctrl-R, SWAP.
-
Day 2: Quantum Teleport (via qiskit)
- introduce Qiskit syntax: definition of qubits, circuits and measurements.
- algorithm idea
- code demonstration
-
Day 3: Grover's algorithm (via qiskit)
- algorithm idea: Classic version - unstructured search, typical complexity. Quantum version - oracle concept, math development, quantum circuit.
- code demonstration
-
Day 4: Shor's algorithm (via qiskit)
- introduce preliminary concepts: prime factorization, application in cryptography.
- algorithm idea
- code demonstration