Quantum Computing : A Perspective Of A Tanzanian Teen Finding His Way in A Huge Tech World.
A futuristic introduction to quantum computing and what it has to offer.
I first encountered Quantum Mechanics (QM) in 2016, when I was in Form III. A friend of mine (named Humphrey) had an Oxford Physics dictionary which I used to borrow and read. To be honest, I wasn’t that much interested with the theories, at least not that seriously. However, I used the dictionary as a way to deeply understand the sci-fi ( you know, the MCU and the DC universe). And by that time, the Flash TV series was my favorite, and it explored a bunch of Physics stuff like, singularity, black holes, time travel, teleportation and phasing. So yeah, it was quite a motivation to make me read the Physics dictionary (I know, right?).
But that’s not the point. More or less you may have a moment similar to mine. Even if you are reading the word Quantum for the first time, this may be your moment, and trust me, it will be worth it. So, let’s get right into it, shall we?
Sooo…, what is Quantum Computing?
Well, that’s a good question. To understand quantum computing, we must first understand classical computing .
Classical computing is a traditional approach to computing, classical computing methods are the ones powering most the world’s devices(e.g from your laptop, light bulb, smart-phone e.t.c). In short, it is a normal regular computer you’ve been using for years. And you definitely know how it operates, it can be ON or OFF. It simply works this way, it takes your information, whether it is texts, images or videos, and it represents them in either of the following two states: 1s(ON) or 0s(OFF). And these two states are call bits.
A quantum computer, on the other hand, stores and represents information using qubits. A qubit can not only be set to ON or OFF, but can also be in both states simultaneously, meaning it can be both ON and OFF(weird, right?). And this is due to two main properties : Superposition and Entanglement. Quantum computers solves problems by following the most fundamental laws of nature, hence reflecting the real world. Here is a simple way to explain this, on solving a problem classical computers explores the solution space one solution at a time, in order to get the most optimal solution. On the other hand, quantum computers can explore all solutions in the solution space simultaneously. This is what makes quantum computers way more better than classical computers, better to the point that they can solve problems that classical computers can’t in any feasible amount of time. In fact, we have a term for this, quantum supremacy , quantum supremacy was achieved by scientists at Google in 2019, you can read about the milestone here.
Yeah…, but why? why quantum computing?
Because, quantum computing is the future. And even though, there may be a long way to go until our day-to-day devices are powered by quantum processors, still quantum computer have potential to solve the problems that classical computers can’t. And that includes but not limited to: mathematical problems, financial analysis,machine learning algorithms, drug discovery, and even climate change. Researchers all over the world are now using quantum computers to solve these problems, and since quantum computers fundamentally follows the laws of nature, they are best suited to solve these problems.
We can now easily use quantum computing to solve challenges in various computer science fields. Currently, Quantum Machine Learning(QML) is evolving at a fast pace, and the only limit of what we can do with quantum computers is our imaginations. Let’s save QML as a topic for another day. For now I just want to show you that quantum computing applications are happening now, and in a few years we can reach even bigger milestones. For instance, IBM is on its way to create a 1000-qubit chip by 2023 . Now, that’s what we call moonshot thinking.
Also, we can now easily write quantum programs, design and implement quantum circuits, and experiment with quantum computers at a comfort of our own homes. What required access to high-tech facilities, now requires a laptop and internet access to the cloud. You can now write your quantum programs, and run them on a real quantum computer in the cloud. And you don’t necessarily need a PhD to work on this stuff, or any prior quantum mechanics experience as you’ll learn on the way. The next section, shows you how.
How do I get started?
Well, I chose to dedicate this section to Tanzania developers and tech enthusiasts. And I will start by sharing about my journey in tech briefly.
I am just a passionate newbie, I have about 2 years of a real professional experience on building real world products that actually affect people’s lives (well, if we count years I spent on Sololearn, then we are talking about 4 years of experience, this is just for a client/hiring manager who reads this and is worried about my professional competence :D).
I like experimenting, so in these 2 years, I have learnt a bunch of stuff, from web development, cloud computing, cyber security to actually becoming an IBM certified professional AI engineer. There is still a lot to learn and explore, but I am glad with the milestones.
But, it was until 6 months ago that I came to a realization about the situation of scientific computing in our country. And this when I learned about quantum computing for the second time but in a sophisticated way. I realized I can write quantum programs in Python.
Being, so excited(as you can recall, I am a newbie), I stormed off to search if there are any Tanzania developers working on this, only to find none. This led me to three hypotheses: first hypothesis, either there were literally no Tanzanian developers working on quantum computing before, something which I find hard to believe because, we are a population of about 60 million people, so there is a high chance someone was working on this stuff somewhere. The second hypothesis is that we have developers working on this, but since we do not emphasize scientific computing enough, they end up giving up and we do not know about their works. The third hypothesis is that I did not search enough, and that I suck at it, something I would partially agree.
Whether the true answer was one, two or three, navigating my way into quantum computing was more of a lone journey, the only support I received was from the Qiskit community (now about 20k people worldwide). So, I decided I am going to do something about it, so that any other Tanzanian developer getting in the field can navigate easily. So here are the things you need to get started with quantum computing:
- Linear algebra.
- Complex numbers (basics).
- Basic probability theory.
- Basic python programming.
See? it is easy to get started, the math is basic and most of it is already covered in school (O-level and A-level). Now, let’s explore the resources in the next section.
To start programming quantum computers, you must understand how they work, theories behind the computations, advantages and limitations and the tools available. Along with Python, you will use Qiskit (pronounced: quiss-kit) is an open-source SDK for working with quantum computers at the level of pulses, circuits, and application modules.The following resources are useful for you to get started:
- Qiskit foundations — coding with Qiskit(Yotube series).
- Qiskit textbook.
- Introduction to quantum computing and quantum hardware(Lecture series).
- Quantum computing[IBM].
When you are done with the basics(exploring all the content above), you are now ready to explore Quantum Machine Learning (QML). To get started with QML I recommend a book authored by Frank Zickert. You can also follow qiskit on medium here.
Is it really worth it ? (More about my journey).
Yes, it is totally worth it (no cap). And, it is not that hard to get started and thrive in field of quantum computing. On my side, I am fascinated with AI, and I have decided to give it my full attention, deeply understand intelligent systems and apply my understanding to solve problems in healthcare and agriculture (at least, that’s what I think I am doing). So QML , seems to have a potential to enable me to actually, create solutions that scale.
I am 6 months old in the field, so I have a long way to go. But so far, the journey is fascinating, and the future looks promising. A couple of weeks ago, I managed to participate in IBM Quantum Challenge Africa 2021. Where in two weeks, developers all over Africa(and the world) applied quantum computing to solve real world problems. It was designed by African researchers, and explored real world problems, it explored crop yielding, finance problem, and modeling and simulating the molecular interaction between the HIV virus and a hypothetical drug.
The challenge did not require any background in healthcare, finance, or agriculture to participate, or any background in qiskit as you were to learn. On the way, and it was just fascinating learning what we can do with quantum computers. After about three days of working on the challenges part-time, I successfully completed the challenge.
And after, noticing that only a handful of Tanzanian developers participated in the challenge, I decided to open-source my solutions to the challenge, right after the challenge ended so that, anyone, anywhere can access, tweak, learn and even further advance real world applications of the challenge. Kindly, check it out and feel free to share feedback.
- The repository: https://github.com/Alfaxad/IBM_QC_Africa_2021
If our vision is to drive innovation in the tech ecosystem and create solutions that scale, then we should utilize these technology trends to our advantages. We should not expect(or hope) things to change, if we constantly use the same conventional ways we have been using in the ecosystem for years. A simple analogy would be “To be big, we should think big, and come up with unconventional ways to solve our own problems”. This is why I emphasize developers to have even an introductory, fundamental knowledge of quantum computing.
I applaud the current efforts that are done by different organizations in Tanzania to advance the ecosystem, there is a lot of good work being done and the future looks promising. However, I became disappointed when I did not find any notable quantum solutions from the ecosystem. And I fear the situation is almost similar to other fields under the category of scientific computing. We can all agree that our current situation in AI is “nascent”. With very few of our AI solutions actually making it to production, most of solutions end up unimplemented for some reasons. We can also agree that computational-methods in solving our problems are not used at a wide scale.
In general, from a report about Africa technology ecosystem 2020. Tanzania is considered “nascent” and we comprise about 2% of the whole ecosystem. We have a long way to go, and on my side I have got no solutions I can think of, other than:
- We need more emphasis on scientific computing, future solutions to our own problems depend on it.
- Unless the work is proprietary and can’t be licensed, we should highly emphasize open-source development and contribution, a culture of sharing of knowledge is vital for our advancement.
- Emphasis on wide range of possibilities and applications of the science classes we take have to offer, I think it will motivate students to get into computer science.
- Like anything else in the world quantum computing is hard , requires hard work persistence and passion. Get ready for the downfalls, Quantum computing is an emerging field. Most parts of the field arein research stage and are evolving rapidly.