# ⟨𝑎𝑟∈|𝑌|0⟩𝑈†|𝑐𝑜𝑛𝜓𝑢𝑠𝑒𝑑*⟩? — A Beginner’s Guide to Quantum Computing Literature & Notation

This blog is co-authored by IBM Quantum Ambassador Luke Johnson and IBM Qiskit Advocate Abby Mitchell

If you’ve ever felt overwhelmed by the sheer amount of jargon in quantum computing literature, or if terms like Eigenvalue and Hamiltonian sound more like Broadway stars than anything else, then you’ve come to the right place!

For those of you with a solid foundation of physics knowledge you can probably pick up the basics of quantum computing with relative ease. But for those of you who are just beginning your quantum journey, who are perhaps getting started with some Qiskit tutorials or online interactive circuit builders without an academic physics background, navigating the murky depths of quantum physics literature can be a serious hurdle to overcome.

Our aim for this blog is to help clear up some of that murkiness, so that next time you see some odd symbols or words like ‘Unitary’ or ‘Hilbert space’ you’ll be able to take it all in your stride! We’ll cover the basics.

Enjoy!

# Common Quantum Symbols

It can be easy to get lost reading quantum computing literature, due to the sheer quantity of different Mathematics and Physics equations, comprised of an intimidating mish-mash of symbols you’ve probably never seen before (or have a hazy memory of from your school days). To help you out we’ve put together some tables summarising the most common notation you’ll see throughout this blog and your ongoing quantum journey.

# Representing Qubits using Vectors

The first thing to understand when diving into the theory of quantum computing is that qubits can be represented mathematically as vectors (specifically state-vectors). We can operate on quantum states (state-vectors) using gates (matrices). All this does is convert one state vector to another state vector.

Note: It really helps to know your basic vector and matrix linear algebra as you progress in your quantum computing studies, so check out the bonus resources at the end if you need a refresher!

You’ve probably seen the weird symbols |0 and |1 used a lot. We will go into the specifics about the | and later on (see the Dirac Notation section) but basically they are just a fancy way of showing that we are talking about vectors representing qubit states of 0 and 1. So |0 represents a qubit state that will collapse to the binary value 0, and |1 represents a qubit state that will collapse to the binary value 1. We can represent these qubit states as vectors like so:

# Orthonormal Bases

In quantum computing literature you will often find the term ‘basis’ a lot. In mathematics, a ‘basis’ is a set of vectors in a given geometrical area (vector space) for which all possible vectors in that space can be represented. For example, in the image below the same vector (dark purple arrow) can be represented in 2 different ‘bases’ (the red arrows and the light purple arrows) within the vector space (blue box).If these diagrams represented qubits, then the blue box would represent ‘Hilbert Space’, where every possible state-vector could be.

In quantum computing you will most commonly come across the ‘computational basis’ (otherwise referred to as the Z-basis or |0, |1 basis), with |0 and |1 being the ‘basis vectors’. This means that we can write any and all single qubit states in terms of the vectors |0 and |1, and when we measure the qubit, it will collapse to real values of 0 or 1.

The computational basis is referred to as an ‘orthonormal basis’, which means the basis is both ‘orthogonal’ and ‘normalised’.

What do we mean by orthogonal?

This means that the vectors |0 and |1 are at right angles to each other:

What do we mean by normalised?

This means the magnitude (i.e. the length) of vectors |0 and |1 is equal to 1.

There are many different bases that can be used in quantum computing, but the computational basis is the one you will most likely encounter at the beginning of your quantum journey.

# |Dirac notation⟩

Bra-Ket notation or Dirac notation is used very frequently in Quantum computing and Quantum mechanics. It tends to cause lots of confusion, so let’s try and clear this confusion up!!!

First of all, lets define what| and | are. |is a bra and | is a ket. (Hence the name Bra-Ket notation).

Ket is a vector that represents the state of a quantum system. For example our basis states |0 and |1 , or a general state|ψ. These basis ‘Ket’ vectors can represent any vector within our vector space which is called the Hilbert space, this space is where all possible states of our qubits ‘live’.

Bra is a vector which is the adjoint of the vector inside it. The adjoint or conjugate transpose, is just a fancy mathematical word for a new vector where the rows and columns are switched, and the values within the vector are conjugated. (see the definitions table here for more information).

Eg:

The Bra-Ket of two vectors is called the scalar product, and is noted as:

This is sometimes written as 𝑎|𝑏 just to compound the confusion… the scalar product or dot product is the matrix multiplication between the vector a| and the vector |b. If you need to brush up on your matrix/vector multiplication check out the links in the bonus resources.

The scalar product is used in Quantum computing to quantify the distance between two quantum states which can be used to find the perfect* probability of a certain measurement.

*We say perfect probability here as this does not account for current error in Quantum computing hardware, this is the theoretical value which is being referenced here.

For example, the probability of measuring a random quantum state|ψ(QuantumCircuit.measure in Qiskit) and finding it in the |0 basis state is equal to the absolute square of their scalar product or their Bra-Ket. This is also sometimes called the overlap or indistinguishability of the two states.

A good example to note here is that the scalar product or bra-ket of our two basis gates |0 and |1 is equal to zero as they are completely distinguishable (i.e. the probability of measuring the zero state in the one state is theoretically zero).

Nearly there, keep going! 💪

We can operate on our quantum states using Quantum gates (eg QuantumCircuit.X() in Qiskit for the X gate or BIT flip). These gates are matrices, and we can apply them to our quantum states.For example, X|ψ is the X gate (formally referred to as the Pauli-X gate) applied to our quantum state ψ. This is matrix/vector multiplication between our state vector and the gate matrix giving us another state vector.

This multiplication above shows us that X gate, and its corresponding matrix, flips our qubits vector state from |0to |1 as we’d expect.

Describing this more generally, we can use some key words that you may have seen! If we call a general gate an ‘operator’,write it as U, and apply it to some qubit state |ψ , then using the same notation as we did with the X gate above applying the gate to the state;

where 𝑢 is called an eigenvalue and the state |ψ′ is its corresponding eigenvector. There is a really good description of eigenvectors and values in the Qiskit textbook here under eigenvalues and eigenvectors. It shows the working to find the eigenvectors of the Pauli Z gate which turn out to be our basis vectors which is a very important result.

# A Quick Note About Hamiltonians:

In Quantum Mechanics the Hamiltonian is a general example of an Operator that acts upon Quantum states to give us Eigenvalues (observables) which are physical properties (Total Energy in this case). Other examples include the Position and Momentum operators.The Hamiltonian acts upon a Quantum state |Ψ to give the Quantum state’s corresponding energy Eigenvalues and Eigenvectors as follows:

where H represents the Hamiltonian, the specific values of energy are called Energy Eigenvalues (E) and the functions Ψi are called Eigenvectors. The energy Eigenvalues are also known as Observables and represent the actual energy of the corresponding Eigenvector.

The Hamiltonian is a ‘Unitary’ operator, meaning that the Matrix that represents the operator has the mathematical characteristic that its inverse is its Conjugate Transpose: i.e. U is Unitary if U*U = UU* = I, where I is the identity matrix. Quantum gates such as the Hadamard gate (H) and the C-not gate (CX), which we can use in quantum computing, are unitary. This essentially means they are reversible i.e. H|ΨH* = I |Ψ

So we finally made it! 👏 👏 👏

We hope this brief introduction to Quantum Computing notation will help you navigate the Quantum computing world and leave you feeling less 𝑐𝑜𝑛𝜓𝑢𝑠𝑒𝑑∗⟩!

--

--