Aizan's Notes on Quantum Computing

Friday November 1, 2019

This is an author’s note for my piece in Bahasa, “Keagungan Kuantum: Menorobos ke Masa Hadapan dengan Dentuman Halilintar”, or translated as “Quantum Supremacy: Blazing Through the Future with Thunderclap”. This is in fact the most tiring piece I have ever worked on in Bahasa for AmanzMY, but not that I am complaining in a bad way. This is the author’s notes on the quantum computing piece. I rarely penned author’s notes for my recent Bahasa write-ups, but I think for this one since it became so special to me I decided to get one up.

Just so you know, the title there was inspired by Zenitsu and during the writing process, I could not stop myself from listening Zenitsu theme soundtrack on loop for hours to keep me going.

For the curious mind, here are some numbers associated with the article.

Of note, I started writing on October 24th, proofread along the way by my friends, Miji and Arib. I did not count how many cups of coffee I consumed, and I bet you would need a quantum computer to compute that number. The final draft was finalized on November 1st (around 9:00 PM US Eastern Time), about time for weekend release in Malaysia.

Should you have questions or concerns, ping me on Twitter @aixnr.

the motivation

I got asked to write about quantum computing many moons ago. I started gathering materials and started writing a little bit on things that I would like to talk about. Not much progress ever since, primarily because I got busy with lab and research. Then, couple weeks ago my boss at AmanzMY told me that Google Malaysia would like to see a long-form explainer piece on quantum supremacy in Bahasa in conjunction with the long-anticipated official publication of the Google’s Quantum Supremacy paper. The request came together with an invivation to join a video conference with the scientists behind the quantum supremacy experiment. It was an honor to be a part of the audience for the conference.

When I was writing the article, I saw my chance to preach about the importance of STEM education, as I presented my brief message in the epilogue section of the article. When I was in form 4, there was a consensual hatred against additional mathematics because we really did not see the point, and we (teenagers lacking 2020 vision) joked about never going to use log and linear/quadratic stuff, but hey jokes on me, I am dealing with them on daily basis.

Before we go further, I have to say that quantum computing is a very niche field. I would rather not to explain it in common language the way I would rather not to explain my research on immunological memory of B cells to my grandparents because it would take several iterative rounds of intense reading and writing and thinking about analogies and how analogies could collapse if constructed poorly. However, someone had to do it and I am quite glad I did.

the constraints

First, it is always the reading and understanding the context of the situation. I went hunting for materials on the quantum computer, and found out that the term “quantum supremacy” was actually recently coined within this decade by John Preskill in 2012. Okay, that made things a little easier to track. Also, there are only 3 main players in this field: D-Wave, IBM, and Google. Not much being said about Intel though in this space.

Second, the issue with time. The announcement from Google came on October 23rd. It was very close to the immediate weekend (October 26-27) and I could not write that fast for something packed and dense, so I gave myself the weekend after as the publication deadline. For context, the longest piece I had written prior to this quantum thing was my Zika article in 2016, and it took me about 2.5 weeks to complete. For this piece, roughly 1 week.

Why I needed to get it done fast?

Well, my thesis committee meeting is coming up very dangerously soon on November 12th (yeah, less than 2 weeks now). It is going to be a meeting where I present my research proposal and progress to a room of 4 professors, and they would start grilling me above an open fire (no, not really, but that’s how I imagine because I overthink rather easily nowadays).

Worth noting that I am not a physicist or a computer science major. I relied heavily on readings within a very short period of time, watching lectures on YouTube, and drawing a lot with pen and paper to help conceptualizing my understanding pertaining to the subject matter. While doing this, I realized that humans come with exceptionally explosive learning capability and capacity, and one should not shy from using this to achieve goals that may seem outlandish at first.

getting the graphics done

I thought “let’s try to reduce dependence to stock photos as much as possible and let’s draw from scratch”. This came with a benefit: I got to test my own understanding about what I was about to tell people. As usual, I go with open source applications. Majority of the illustrations were drawn in Inkscape, including the featured image. If you are serious about learning how to use Inkscape, find Nick Saporito on YouTube. I started watching his videos since December 2016 and that has been paying off pretty well.

Because I wanted my graphical assets to be small in size so that I could serve those with broadband quota, I compressed my images with an online tool called TinyPNG. Of course there are several other similar tools available. I went with TinyPNG because I am used to using it. Previously, I used GIMP to produce animated graphics, but now I am using ImageMagick’s convert tool to get the same job done. On Inkscape, I drew the image sequence and then exported them out as PNG, and then I optimized those PNG with TinyPNG.

To create a GIF out of PNG images, I issued this command:

convert -loop 0 -delay 50 quantum_*.png out.gif

Where convert is the binary, -loop 0 means infinite loop, -delay 50 means switch to next image in sequence within 50 ms, quantum_*.png expands to every file with name quantum_ and ends with .png extension, and out.gif refers to the final output.

Did you see the Zenitsu (Demon Slayer ep. 17) video towards the end? For the initial cut to get the right video sequence, I used OpenShot. No specific reason in particular other than it is simple and light enough to get the job done. That being said, I struggled for a few minutes trying to deal with adding text in OpenShot, so I went ahead with Kdenlive just for adding text and scaling it down a little bit. This could have been faster with Adobe Premiere, but I felt good using open source softwares for doing something simple.

things I intentionally left out

Well, A TON, for the sake of brevity and for the sake of making me suffer less. In the article itself, I explicitly mentioned parts or concepts that I did not include. Well, guess what, there were more of them.

First, the transistors. While I mentioned that there are more gates out there, but I did not mention about transistor families, i.e. TTL family and its relationship with bipolar junction transistors (BJTs) vs. complementary metal oxide semiconductor (CMOS) and its relationship with field effect transistors (FETs). I am saving this part for a future article (possibly, do not count me on this) if I were to explain about 14, 10, 7, and 5 nm process nodes. Spoiler alert: these numbers are marketing BS, so take them with grain of salt. It is rumored that Intel’s 10 nm is of the same size as AMD’s 7 nm. Making long story short, modern integrated circuits (ICs) use CMOS-type transistor, not the TTL family.

I also did not include quantum entanglement, did not explain about superconducting metal, did not talk about technologies surrounding the process (albeit these are different topics altogether, e.g. litography, IPC, etc.), did not properly explain the experiment (the software they ran on Summit called qFlex, also the supplemental material was really phenomenal I enjoyed reading it, except the math), did not talk anything about the anatomy of a quantum computer (I was planning to write about dilution refrigerator and how it could cool stuff down to 20 millikelvin), did not describe Neven’s law, did not go into Cirq and OpenFermion libraries, did not explain NISQ, and I did not talk about cryptography and Shor’s algorithm. Maybe probably few more that I had to leave out.

Point here is… this article was a beast.

to split or to consolidate

As the article went on and on throughout the process, I started ranting about it to my close peers how long it was. I started receiving suggestions on splitting the article into sections. I admit that with my writing, I do not have a strong preference to split them into parts unless absolutely necessary, and apparently “unless absolutely necessary” was not applied to my quantum supremacy article. There are 3 reasons for this: (1) reading participation winds down as the series get longer, (2) it would give a false sense of achievement at the conclusion of every section, (3) you lot should get accustomed reading something longer than a tweet because a nation progresses when the whole constituent reads.

Reason 1 and 2 are for the readers. As the reading become fragmented, so does comprehension. For example, says a reader is aware that an article would be split into 5 parts, and the meat happens to be in the 4th part of the series, it is very likely that this person would skip part 1 to 3 altogether. This would be detrimental to the reader’s understanding and would end up being none the wiser, which would be wasteful. Reason 3 is my first principle belief when it comes to acquiring new knowledge: it should be painful, a reader should try to get the sense of the history and context along with the fundamentals to be able to make sense something that is really complicated.

getting necessary helps

I thank my close friend, Miji, for helping me with the editing. I did not that “mechanism” in Bahasa in “mekanisme”, not “mekanisma”. I also thank my friend, Arib Ismail, for reading the draft and providing some inputs on how to say things better.

I thank my close friends who listened (or just scrolling past?) my tweet-ranting.

reading materials

A lot. I mean, A FREAKING LOT.

Going a few months back, Aman Firdaus asked me to write something about quantum computing, and I responded with a partial yes because the prerequisite to understand quantum computing is to understand how classical computing works. Explaining either is difficult, and when you need to explain both in the same article (just like what I did), it means big big trouble. And it was a good thing that he asked me months back, because I could incrementally gather and read materials (which I also did, but at a painfully slow pace).

Now that we have two disasters here, classical computing and quantum computing, and now let’s add another disaster: quantum supremacy. The meat of this article is informing people that Google AI Quantum has successfully demonstrated quantum supremacy with their Sycamore platform, but here’s the fun bit: how was the experiment done, why was that experiment done, and how did they could tell their Sycamore was gajillion faster than IBM Summit?

Here is the reading list:

  1. Quantum Supremacy Using a Programmable Superconducting Processor
  2. IBM casts doubt on Google’s claims of quantum supremacy
  3. What is the equivalent of the transistor in a quantum computer?
  4. How to calculate circuit depth properly?
  5. Introduction to the D-Wave Quantum Hardware
  6. How about quantum computing
  7. What Google’s Quantum Supremacy Claim Means for Quantum Computing
  8. A New Law to Describe Quantum Computing’s Rise?
  9. Neven’s Law: why it might be too soon for a Moore’s Law for quantum computers
  10. quantumlib/Cirq on Github
  11. John Preskill: Quantum Computing in the NISQ Era and Beyond
  12. What is meant by NISQ technology?
  13. Who first proposed the idea of quantum computing using qubits?
  14. Google and IBM Clash Over Milestone Quantum Computing Experiment
  15. Sycamore vs. Summit: Google Claims Quantum Supremacy
  16. From Transistors to Functions
  17. First Look at ‘Sycamore,’ Google’s Quantum Computer
  18. Superconducting-Silicon Qubits
  19. Understanding the basics of measurements in Quantum Computation
  20. QC — Control quantum computing with unitary operators, interference & entanglement
  21. Superconducting quantum computing
  22. Quantum computing in Rust, part 1
  23. Quantum computing for the very curious
  24. How are quantum qubits implemented?
  25. Untangling qubits
  26. QC — How to build a Quantum Computer with Superconducting Circuit?
  27. Why is quantum entanglement so important in the context of quantum computation?
  28. The past, present, and future history of quantum computing
  29. Richard Feynman and the birth of quantum computing
  30. QC — How to build a Quantum Computer with Trapped Ions?
  31. Understanding Quantum Supremacy (Part 3): sampling
  32. Quantum Supremacy — Google Sycamore Processor
  33. Google’s Quantum Tech Milestone Excites Scientists and Spurs Rivals
  34. Quantum Computing: What It Is, Why We Want It, and How We’re Trying to Get It
  35. Why I Called It ‘Quantum Supremacy’
  36. Essential Hardware Components of a Quantum Computer
  37. On “Quantum Supremacy”

Here are some videos:

  1. A Qubit in the Making
  2. A Beginner’s Guide To Quantum Computing
  3. Google and NASA’s Quantum Artificial Intelligence Lab
  4. Demonstrating Quantum Supremacy

Hope you guys enjoyed reading the article!!