Getting Into Quantum Computing Today: Sara A. Metwalli – Keico University
Sara A. Metwalli, Quantum Computing Ph.D. Candidate at Keio University in Japan and Lead at Women Who Code Python discusses the three core concepts of quantum computing, as well as the research that is happening in the field, as well as advice for those looking to get involved.
Quantum means very small. It's a word used in physics when we want to talk about very small things like atoms, particles, or electrons. Quantum also has a specific set of rules of physics that is different from the rules that apply to our daily lives. A quantum computer is a computer that uses special logs to solve complicated problems. The field of quantum computing, or QC, is relatively new. Quantum computing existed but was not taken seriously until 1994. In 2019 the first quantum computing computer was introduced by IBM. IBM has put a lot of effort into developing its quantum hardware and software. IBM has different computers right now that you can access through the cloud, through the IBMQ experience.
Why do we need quantum computers? How would they make a bigger difference than the classical computer that exists right now? Speed is one of the strongest advantages of quantum computers.
They can run complex simulations. Also, if we want to simulate anything that happens in our daily life, like for example, the weather, natural disasters, or global warming, quantum is the way to do it.
There are three core concepts that quantum computers work on. First, qubits or quantum bits are the equivalents of bits, which is short for binary digits. Qubits are the zeros and ones that exist in today's classical computers. In quantum, it's called a qubit. Zero means there is no current in the circuit, or the switch is open. So there is no current passing in the circuit. One means the switch is closed and there is a current passing in the circuit. Qubits are representations of something that exists in nature rather than a concept. The spin of an electron, the electron itself, or a photon can be a qubit. Because quantum is dealing with these electrons and photons, they can be in two states at the same time. They can be both in the computations. When we measure them or when we want to know the result in the end, they can either be zero or one.
Superposition is when something can be both zero and one at the same time. A way to explain how everything in life is quantum, especially in superposition, is thinking about what you want to eat for dinner. If you think about it, before you actually decide what to eat, your options are in a state of superposition. Theoretically speaking, you can choose to eat anything. Until you choose exactly what you want to eat, technically all options are available and exist in superposition. We can say mathematically speaking that it has a uniform distribution, which means the probability that you would choose any of the cuisines are the same, of course in practice that is not correct.
The third and final pillar of quantum computing is entanglement. Entanglement is a phenomenon that creates a correlation between two qubits. You can think of entanglement as having the qubits in a relationship. They're affected by each other rather than being independent. Entanglement creates a relation or a bond between two qubits. Once they're dependent on each other rather than independent, if one of them is zero, the other one must be one, and vice versa.
The four top categories of qubits are spin qubits, trapped ions and atoms, photons and superconducting circuits, or superconducting qubits. A spin qubit is when a particle has an orientation in nature. They're not very constant or still, they're spinning. Based on that spinning, they generate a magnetic field and the direction of the magnetic field is what we're referring to here as the spin. If they're spinning counter clockwise, for example, the magnetic field will be pointing up. If they're spinning the other way around, then it will be pointing down. Based on that, we can say, now we have this particle or electron as a qubit, and if it's spinning up that means it's zero, and if it's spinning down then it's one. We created a spin qubit.
Another type is trapped ions and atoms. Google is one of the companies that work on trapped ions qubits, making them. In nature, in chemistry, we have a nucleus, the energy level, and then the electrons are often spinning. If the atom is just existing like they are in nature, nothing is happening, there is no excitation, there isn't a chemical reaction, and the electrons are often in the lower energy level. If the electron is at a lower energy level, then it's zero. If it's at a higher energy level then it's one. That's another way of making qubits.
The electron’s location in the atom can define if it's zero or one. That is photonic qubits, and photons are like particles. Photonic qubits are actually one of the largest areas of research when it comes to constructing qubits. There are different ways of using photons to create qubits. One way is magnetization. This one is very similar to the spin one, but here we're talking about the particle itself. We're talking about the polarization of the particle. It's either vertically polarized or horizontally polarized, and we can use this polarization to make it zero or one. The photon is like the light particles. There's so much research about this, using different light sources to generate the particles or the photons. Then we can see their polarization and based on the orientation of the polarization, we can say it's a zero or it's a one.
Finally the superconducting qubits. Superconducting qubits have to be at a specific temperature. They are also affected by electromagnetic waves and so many things. All of these are very fragile. That's what makes building quantum computing hard. To make superconducting qubits, basically, we use specific materials, that when we cool them down to a specific temperature so that they start conducting.
Qubits are still undergoing a lot of research. There are a lot of things that the researchers are still working on, making better qubits. These qubits are electrons, photons, or molecules. Because they are very small, they are very prone to errors. All these qubits are very sensitive. It's one of the reasons that quantum computers are not very accurate. We don't have a quantum computer that is accurate and will actually give us good results. People are working on it. They're making very great progress on the hardware side. Hardware has been taking most of the attention of the research and funding. The hardware aspect of quantum is moving way faster than the software aspect.
If someone wants to implement a quantum algorithm today and run it on one of the existing hardware, what options do they have to write code? You can implement a quantum circuit or algorithm, using programming languages built just for quantum. There are a few of those that exist right now. The most common way to do it is using a classical package or quantum packages. Currently, Python is the number one programming language used in Quantum. There are so many things that need to be done from the perspective of the software. We need to build compilers and libraries. We need to be able to navigate the error. We need to know what data we need to build simulators, debuggers, and profilers.
What do you need to know to get into quantum today? Or what do you need to have? I feel like will and curiosity are the most important. I would also say basic knowledge of electronics. You need to know the gates. Gates are one of the building blocks of classical computers, like ANN Gates NAND gates transistors. The math in quantum is not more difficult than the math in artificial intelligence or any of the data science branches. Quantum is built on two core math branches, linear algebra, and probability theory. Linear algebra is used to describe everything in quantum systems, starting from the qubits themselves to the circuit. You need to know how probability theory works because everything in quantum is probabilistic. I'm going to be honest when I joined quantum, I did not know much about quantum physics and it was fine. If you want to do something in software, then you need some programming knowledge. I would recommend if you really want to get into quantum, read the Qiskit book. It's a free book online. It will take you from quantum gates to quantum circuits, to the implementation of quantum algorithms, to error and optimization. Qiskit's YouTube channel has great materials. IBM has been doing the Qiskit Summer School where they focus on specific topics and they put the lecture links on their YouTube channel.