This Repository covers the basics of quantum computing with notes, reference sheets, code using IBM's qiskit framework and a list of learning resources. All the concepts are explained on DSC TIET's YouTube channel.
1. Introduction to Quantum Computing
This is the introductory video of the Quantum Computing playlist which explains the need for quantum computing and its foundational principles.
2.1 Dirac Notation
Dirac Notation also know as Bra-Ket Notation explains how qubits are represented as state vectors in superposition and how they can be manipulated mathematically just like vectors in hilbert space. The concept is explained in this video.
2.2 Bloch Sphere
Bloch Sphere is the visual representation of a qubit, and is further elucidated upon in this video.
2.3 Representing a qubit using Qiskit
In this jupyer notebook, qubits are created using qiskit. Qiskit is a Software Development Kit created by IBM for Quantum Computing. The code is explained in this video.
3.1 Six Postulates of Quantum Computing
This video explains the 6 ground rules that are followed to represent, transform, and measure qubits. It also allows us to calculate the probability of a qubit to be in a given state, once measured. It tells us how a qubit transforms over a period of time, by the application of multiple operators.
3.2 Stern Gerlach Experiment
It explains what to expect on measuring a qubit and derives the 3 axes of the bloch sphere from the result of Stern Gerlach experiment.
4.1 X, Y, Z, H Gates
X Gate: 180 degree rotation about x axis
Y Gate: 180 degree rotation about y axis
Z Gate: 180 degree rotation about z axis
H Gate: transforms x basis to x, puts a qubit into uniform superposition
These gates are explained in this video
4.2 Rx, Ry, Rz, P, S, T Gates
Rx Gate: Θ degree rotation about x axis
Ry Gate: Θ degree rotation about y axis
Rz Gate: Θ degree rotation about z axis (Phase Gate)
P Gate: Θ degree rotation about z axis (Phase Gate)
S Gate: 90 degree rotation about z axis (Phase Gate)
T Gate: 45 degree rotation about z axis (Phase Gate)
These gates are explained in this video1 and video2
4.3 Universality and Fidelity
All the single qubit gates discussed so far, can be created using the U Gate also known as the Universal gate which can be parameterised to form any gate, using angles on the bloch sphere. Interesting relations between gates are studied and tested for equivalence using fidelity.
4.4 Single Qubit Gates Cheatsheet
Summary of all single qubit gates
4.5 Quantum Universality Cheatsheet
Composing Gates using H and T Gates
5.1 Quantum Circuit Model
This explains how muliple qubit quantum circuits are created and the mathematics of calculating the effective operator of the circuit along with the states using Kronecker (Tensor) Product.
5.2 Controlled Gates
This explains the functioning of two qubit control gates wherein one qubit is the control and other is the target. Interesting concepts like Phase Kickback are also studied. Notes
5.3 Swap Gates
Swap Gate essentially performs its namesake, it swaps the state of 2 qubits or reverses the state incase of n qubits. They can be formed from a combination of CNOT gates as well. Notes
5.4 Bell States and Entanglement
Here entanglement is understood from its direct application in the formation of bell states using single and multi qubit gates. Notes
5.5 Universality Part 2
Universality is further explained, continuing from the concepts learnt in 4.3. We can create n-qubit gates using the gates we have seen till now and als understand concepts like Pauli Decomposition, Clifford Gates and Conjugation by a unitary.
5.6 Three Qubit Gates
Three qubit gates like Toffoli Gate, Fredkin Gate, Mølmer–Sørensen Gate etc are studied here.
5.7 GHZ State
Three qubit entanglement is covered here.
6.1 Visualisations
Plotting diagrams like histogram, bloch sphere, qsphere, hinton, city, paulivec etc and different ways of drawing quantum circuits.
6.2 Backends
Goes through different backend simulators offered by qiskit, along with gate and error maps of real quantum hardware available with IBM.
6.3 OpenQasm
It is Open Quantum Assembly Language for writing instructions for quantum circuits.
Learning Resources on Quantum Computing
We would like to thank these wonderful people who helped us to build this project. Cheers!
Sanya Nanda 📖💻 🎨 |
Apurvi Garg 💻 |
Harishankar Kumar 💻 |
Pramit Deep Kaur Gogna 💻 |
This project follows the specification of all-contributors. Contributions of any kind are welcome!