Quantum Computing – the beginning of my journey

Quantum Computing is becoming one of my areas of high interest. That normally means I will overdo it, I’ll try to control myself but will likely fail.  I have only just stared my journey on this road but I am certain to continue down it.  I think my previous project like the 6502 which helped me learn about integrated circuits, bits and logic gates, plus my building of a cluster computer where all actions that brought me to my quantum crossroad.  I have read two books so far in the quantum field “How to teach [Quantum] physics to your dog” and “Dancing with Qubits” and enjoyed both.  In this article I want to discuss 3 things I have seen so far which might trigger some thoughts.

  • How can a qubit be in 2 states at the same time?
  • Quantum use cases
  • Divergence and convergence

Here is a picture, Figure 1, of the Bloch sphere which is very symbolic of a qubit.

image

Figure 1, qubit and the Bloch sphere

I can’t really write an article about quantum computing without a picture of a qubit. 

How can a qubit be in 2 states at the same time?

I do remember reading about the fact that it is possible to actually see an atom.  I am a visually stimulated person and sometimes have a hard time comprehending concepts, architectures or structures unless I can see them.  This, again is also the reason I did the 6502 project so that I could see the 0’s and 1’s being processed through a circuit on LED lights.  I needed to see it.  Considering now that I have seen it, I get it, it’s all about AND, OR, NOT, 0 and 1.  Taking what I know now and attempting to comprehend how a classical bit which can only be either a 0 or a 1 onto a qubit which can be both 0 and 1 at the same time (aka superposition), is troubling and difficult.  I often thought of this equation sqrt(-1) = i, where i is an imaginary unit.  That unit ‘i’ is a base for moving into multi-dimensional worlds, it makes sense but why is it true, I simply decided to believe that, to believe all the work built on top of that and go with it.  I’ll do the same with superposition, as soon as I get a good understanding of what that is, I will accept it as truth and simply get on with building on top of that principle.

There is a analogy which I read about in the (sic) ‘teaching your dog quantum’ referred to as Schrödinger’s Cat (wiki) which was an attempt, as I read it, to devalue that dual state / superposition theory.  The cat analogy was still a bit hazy, then I saw this picture, Figure 1, like I said, I am visually stimulated.

image

Figure 1, Schrödinger Plates and superposition

Another part of quantum computing is probability.  When I first looked at Figure 1, I got it.  My initial reaction, my first words to cross my mind were “those plates are broken”, it’s just a matter of when, but they are also not broken now.  Therefore, they are kind of in both states, where one is mesurable now (not broken), and one state which has a very high probability of happening (broken).  I brought in ‘probability’ because the longer I looked at Figure 1 the more I thought about how there might be a possibility of those plates not breaking.  I have been in a scenario like that once and by careful maneuverability I was able to save the breakable object.  With superposition we are referring to atoms not plates.  I am pretty sure that this is how the superposition theory works in that it’s not that the electrons are actually in two states at once, they really are in one state or the other, but there exists a high enough probability to assume it’s next state, and that next state is, in fact, measurable and therefore real or at least dependable.

Quantum use cases

What are being called classical computers now are and will continue to be useful for modifying documents, pictures, listening to music, etc.…  There will never, or shouldn’t ever be a reason to use a Quantum Computer to watch a YouTube video or create a a video.  An analogy I like to use is to compare GPUs with Quantum Computing, in that there are advantages for some computational scenarios when you perform actions on those platforms.  If you compare the generation of animated movies on a classical computer without GPUs to a classical computer that contains GPUs, the one with GPUs will perform faster.  This is because that is a scenario in which GPUs are useful.  If you run a program like Excel or Word on a classical computer with GPUs, you would get similar performance because the GPU is not optimized to work in that scenario.  I learned this when I built my cluster computer as well, in that small workloads won’t really benefit much in speed when you compare the large workloads, but that’s for another article.  Actually, I do think I explain that a bit more here.  Quantum Computing falls into my same analogy, at least for now, in that it will not replace classical computing, instead, for given use cases, it will improve the experience.  Some of those scenarios, or should I say industries are medicine, biology, chemistry, security and finance, to name a few.

Three things to consider, if you are interested in Quantum Computing you need to make some decisions

  • Which industry
  • Which programming language
  • The divergence

You will need to choose an industry in which there exists high positive impact for Quantum Computing.  That makes sense, right?  Yes: the industries I mentioned already, No: movie making, cooking, manufacturing, perhaps…  You will need to know a lot about the non technical, non computational aspects of the industry.  If you are interested in chemistry, I think learning about that in depth plus how to program a Quantum Computer would be a good decision.

Which programming language to learn?  Python seems to be utilized a lot, but I don’t really know enough about all the players to really make that call.  Since I currently work at Microsoft, I know that there exists a language named Q#, being a C# fanatic, I like the name.  I am not sure if you must program in Q# to use Azure Quantum or not.  There is also a language name Qiskit from IBM which seems to be a leader.

The last point is about divergence.  Will all the players in the Quantum Computing space converge on the same design and platform for Quantum Computing or will there be a divergence where some companies specialize in Financial Quantum Computing, I.e. an industry alignment or will the platforms be so different that each player would need their own platform, programming language, due to the application of how to control and predict the state of a qubit.  Read more about that in the next section.

Divergence and convergence

I will not take the stand of being a historian when it comes to computers.  But I do know that at least around the time that the PC world (aka classical computing) converged the only battle at that time was which operating system you would run on.  The operating system drove the consumption of software products designed to run on those operating systems.  For example, Microsoft Windows and Microsoft Office, IBM OS/2 and Lotus Notes or Apple MacOS and iWork.  Prior to the PC there were mainframes, perhaps a super computer and some that processed punched cards.  That meant that you had a divergence of the hardware used to perform the compute process in addition to any code that ran on the hardware.  That code would be very specialized and only work on that specific hardware.  What I speculate is that we are in a phase where not only in the hardware to be used in Quantum Computing going to be or already is very different, I think we are still trying to control the qubit itself now.  Even trying to discover the most optimal way for controlling the qubit is still not known.

I did watch this video where it mentioned something about a topological qubit.  There is also a blog on the similar concept here.  The point with that is, well, I don’t know enough about what or how the other players are doing it, so don’t know how off or how on this design of Quantum Computing actually is.  I don’t know what the basis of other players qubit management.  I bet we are still very diverged, and as we progress we will either grow in the same direction and one day converge on an agreed platform, or small group of platforms which will results in similarities with the PC or we won’t.  If we don’t I wonder where the divergences will be, at the qubit, at the hardware that contains/controls the qubit or the programming language you use to run Quantum Computing algorithms.

Since it’s early and most of the players have other solid business models I think it is simply choosing a company which has a defined culture that maps well to your own.  That’s because if you engage now, you will be going on a road trip without really knowing where you will end up.  At the end of the trip you have either found what you are looking for or you have not.  Either way, it was a great ride, you had some great experiences which you can use to get on the with a company which took the other fork in the road, nothing wrong with that.  So, if you have doubts as to where you should engage in Quantum Computing, join the club, but don’t make that stop you from taking the plunge, because from here the road is long and it will be some time before you come to a fork.  Get on the road and get going.

I do work at Microsoft, specifically on the Azure team, but I do not work with Azure Quantum.  I looked for it in the Azure Portal and found the icon, it’s cool.

image

At the moment it is private, but I have requested access, let’s see what happens.  I wonder if they will let me consume some of the Qubits.  Here are some links if you want to look into what Microsoft has to offer here.  You’ll need to find out the offerings from other providers at some later point.