This repository was the center for storing all projects relating to the course Intro to Quantum Computing, CSC 5903. This course was taken during my second senior semester.
The protocols that I worked on are seen below. While only a few build on others, each protocol below get more complex in terms of general quantum computing knowledge. Click on the name for the notebook and specification for how its implemented. Some of the following specifications are from qiskit and as such, they do offer their own IBM Quantum Lab jupyter notebooks.
- Deutsch-Jozsa Algorithm: specification
- Grover's Algorithm: specification
- Teleportation: specification
- One Time Pad: no available specification
- Gottesman–Chuang Digital Signature: specification
- Enhanced SVM: specification
IBM allows anyone to not only use the IBM Quantum Lab, but also schedule jupyter notebooks on their own actual quantum machines FREE of charge. To do this, all that is need is to create a login via github, email, or some other method.
To get started: https://quantum-computing.ibm.com/
Throughout some of my scripts, I do include commands to run it on an actual quantum computer. The other option (that is included in all my scripts) is to use the statevector (virtualizing the process) which not only has no Quantum Noise, but allows you to see results instantaneously. You may also find the qiskit textbook more useful than my own as it essentially lays out the foundation of Quantum Computing.
NOTE: This is repository is an archive representing previous experience / knowledge.