Welcome to Introduction to Quantum Computing. I am your guide, Associate Professor Chris Ferrie, a researcher in the UTS Centre for Quantum Software and Information. These are the notes for Lab 1. You should have already enjoyed Lecture 1. The syllabus is here:
Apparently, it is typical in Australia for the first week of class to have no labs or tutorials. Well, quantum is all about breaking the rules! Or, something like that. In any case, we are going to have some fun.
In Lecture 1, you learned about the difference between quantum and “classical”. Now we are going to dive head first into quantum programming. I hinted at some of the powers of a quantum computer. You’ll investigate those and explain them… to a baby!
“If you can’t explain it to a six year old, you don’t understand it yourself.” ― Albert Einstein
Quantum Computing for Babies
Have a look at the absolute optimal way to explain quantum computing to a child:
Now, it’s your turn.
Project: Quantum X for Babies
You and a partner choose one of the following topics:
- Unitary dynamics
(Hint: don’t choose entanglement!)
Your task is to create an explanation of your chosen concept that is understandable by a six year old. Constraints are sometimes useful and necessary to find your starting place. So, you’ll do this the same way I did with Quantum Computing for Babies, by writing a book! Oh, and you only have 1 hour.
- Your book must be between 16–24 pages.
- Each page has a picture and 1–2 sentences.
- The last page states, “Now you know X.” The first page must say “This is a ball.”
Since you only have an hour, don’t worry about how beautiful your drawings are — a sketch is fine. Use whatever resources you can find. Go!
How did you go? Tweet your book and tag me @csferrie. I’ll have a child grade it for you. I’ve already received one submission. The grade was “uhhhhh”.
Quantum software engineering
In the previous exercise, you took the popsci approach to learning. I’m sure in your search for information, you came across plenty of “explainers” in tech journals. In broad strokes, these may paint a roughly accurate big picture of quantum computing. But having entanglement explained in words alone will never allow you to program a quantum computer. For that, we need to get our hands dirty.
We are lucky today to have Dr. César A. Rodríguez Rosario from Strangeworks give us the run-down of their platform. Students enrolled in the class will have immediate access to the beta. Anyone else can sign-up here: https://quantumcomputing.com/beta. Among other things, the platform allows you to write and run quantum programs using a variety of quantum programming languages.
You can see how things work here: ttps://quantumcomputing.com/cesar/uts.
Hello quantum world!
Between now and next week I want you to play around with these programming languages. Write your first “hello quantum world” in at least one of the following programming languages.
- Qiskit: https://qiskit.org/documentation/
- Cirq: https://cirq.readthedocs.io/en/stable/index.html
- ProjectQ: https://projectq.readthedocs.io/en/latest/index.html
In each one, you will create a qubit and place it in superposition using the “Hadamard” gate. This is the most primitive quantum computation, and it is one we will use over and over again.
You can do this using the following juypter notebook. Your job is to fill in the blanks. Good luck!
You can also find this as Strangeworks Alpha project: https://quantumcomputing.com/drchrisferrie/projects/hello-quantum-world.
Welcome to the quantum world!