Posts

Beginning Quantum Programming - The Hadamard Gate

Image
When I took the Quantum Systems and Communications certification course with the University of Chicago in October of 2022, I was immediately immersed in graduate course-level quantum mechanics I had long forgotten. The last time I touched quantum mechanics was when I graduated in 1989. As a result, there was a lot of trepidation and anxiety on my part to quickly bring myself back up to speed for the course. From that experience, I have compassion for anyone here wanting to learn quantum computer programming or being out of touch with this math level for many decades like I was. I am from an era where I learned to program 6502 microprocessors from Jim Butterfield and Rodney Zaks. Back when learning to program computers and hardware was fun! If you're learning, I will sequentially lay it all out for you here. Our journey with quantum circuit implementation will start with one of the fundamental circuits - the Hadamard gate. I highly recommend getting a notebook and a pencil and follo...

Coding Your First Quantum Computer Program

Image
 We'll dive right in and assume no experience with programming quantum computers or working with quantum physics. In the previous post, I described the difference between computers' digital transistor logic bit and the quantum computer qubit. Now let's dive in and examine the qubit. All information in the quantum computer is expressed as state vectors using Dirac notation. Please don't get frustrated with the terminology. We're going to walk through this using simple examples. To learn quantum computing, you need to think in the mindset of linear algebra. For example, a qubit is simply a two-element matrix. A qubit of state 0 is merely the matrix (1 0). Likewise, a qubit of state 1 is the matrix (0 1). These two matrices represent linear algebra vectors. Since these values represent the qubit's state, 0 or 1, these are called quantum state vectors. Dirac and Bra-Ket Notation Quantum physics uses special notation to represent these quantum state vectors called Di...

Welcome to Entangled - A Leisure Discourse on Learning Quantum Computing

Image
  There is a lot of hype on the Internet today regarding the Quantum Computer. What is it? What capabilities will this deliver to computing? And will it replace the transistor-based CPU architecture we are accustomed to today? Quantum computers have sparked my interest in the past couple of years. As a professional programmer and a hobbyist, I have written for my leisure coding processor emulators in python. These included a 6502 CPU and Nintendo emulators. With an old dusty degree in computational physics, I decided to embark on my experimentation in writing a quantum computer emulator. Unfortunately, I had yet to succeed in this endeavor beyond writing python code for wave equations. Once you had the wave equations code running - what then? How do you proceed in emulating a quantum processor? My false assumption was that a quantum processor would resemble its transistor-based predecessors and have general-purpose registers. And what of the address and data buses to transfer the i...