Qubits

Qubits

A qubit is a quantum system with two eigenstates that can be manipulated arbitrarily

It can only be correctly described by quantum mechanics, and only has two states that are well distinguishable by physical measurements

Qubits are also understood as the information contained in this quantum system of two possible states

In this sense, the qubit is the minimum and therefore constitutive unit of quantum information theory

It is a fundamental concept for quantum programming and for quantum cryptography, the quantum analogue of bit in computing

These qubits no longer simply take integer values ​​(0 or 1)

But now they are represented by mathematical entities called state vectors |\psi\succ

What are we going to represent using the Dirac notation:

\begin{matrix} |0\succ&=\binom{1}{0}\\ |1\succ&=\binom{0}{1} \end{matrix}

What defines the basis states of a qubit

As a vector, the state |\psi\succ of each qubit belongs to a particular vector space called Hilbert space

Physically, we can measure the state |\psi\succ in two orthogonal basic states, which by convention are called |0\succ and |1\succ

This implies that the Hilbert space is 2 dimensional

So you can choose the vectors \left \{ |0\succ, 1\succ \right \} as the basis of the vector space

In this way, any state vector |\psi\succ of a qubit is a linear combination of the basis vectors (which in the language of quantum mechanics is called quantum superposition state)

|\psi\succ=\alpha|0\succ+\beta|1\succ

Which defines the linear combination of the basis states of a qubit

The Hilbert space of each qubit is a complex space

This means that \alpha and \beta are complex numbers

Furthermore, they cannot take any value

They must comply that:

\left\|\alpha\right\|^{2}+\left\|\beta\right\|^{2}=1

That is, the state vector of a qubit |\psi\succ is normalized, (its norm is equal to 1)

Quantum gates

Quantum gates are linear transformations between state vectors |\psi\succ

But it is not useful to perform any linear transformation

Only transformations that do not change the norm of the vector can be considered |\psi\succ

Those that take a vector whose norm is 1 and convert it into another vector with norm equal to 1

These types of transformations are called Unitary Transformations, or in the language of quantum mechanics, Unitary Operators

Therefore, quantum gates are unitary operators

Unitary operators can be represented as matrices

The application of a unitary operator A to a state vector |b\succ, can be represented as a multiplication of a matrix of 2x2 by a column vector, resulting in another column vector

\begin{pmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{pmatrix} \cdot \begin{pmatrix} b_{1}\\ b_{2} \end{pmatrix} = \begin{pmatrix} c_{1}\\ c_{2} \end{pmatrix}

Quantum gates of a qubit in Qiskit

Qiskit is a tool created by IBM to develop software for quantum processors

It is implemented in the programming language Python, and available for the general public to start experimenting and testing our algorithms

Below I am going to represent the most used quantum gates that are applied to a qubit, as well as their matrix representation and how to implement it in Qiskit

To know how install Qiskit on your computer, you can review it in its documentation

Identity Door

The identity door represents the identity matrix and it is called that because it represents the identity map that goes from a finite dimensional vector space to itself

I=\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}

And whose representation in Dirac notation is:

\begin{matrix} I|0\succ=|0\succ\\ I|1\succ=|1\succ \end{matrix}

Qiskit code of the identity door:

Pauli matrices

Pauli matrices are named after Wolfgang Ernst Pauli

They are matrices used in quantum physics in the context of intrinsic angular momentum or spin

Mathematically, the Pauli matrices constitute a vector basis of the Lie algebra of the unitary special group SU\left(2\right), acting on dimension 2 representation

Gate X (Pauli X matrix)

I=\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}

And whose representation in Dirac notation is:

\begin{matrix} I|0\succ=|1\succ\\ I|1\succ=|0\succ \end{matrix}

Gate X Qiskit code:

Gate Y (Pauli Y matrix)

I=\begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}

And whose representation in Dirac notation is:

\begin{matrix} I|0\succ=i|1\succ\\ I|1\succ=-i|0\succ \end{matrix}

Gate Y Qiskit code:

Gate Z (Pauli Z matrix)

I=\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}

And whose representation in Dirac notation is:

\begin{matrix} I|0\succ=|0\succ\\ I|1\succ=|-1\succ \end{matrix}

Gate Z Qiskit Code:

Hadamard Gate

The Hadamard Gate, named after Jacques Salomon Hadamard

They are nothing more than the representation of a qubit of the quantum Fourier transform

Since the rows of the matrix are orthogonal, where {\displaystyle H} is a unitary matrix

H=\frac{1}{\sqrt{2}}\cdot \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}

And whose representation in Dirac notation is:

\begin{matrix} H|0\succ=\frac{1}{\sqrt{2}}\cdot \left(|0\succ+|1\succ\right)\\ H|1\succ=\frac{1}{\sqrt{2}}\cdot \left(|0\succ-|1\succ\right) \end{matrix}

Gate H Qiskit code:

Gates U (Universal)

In previous versions of qiskit there were so-called Gates U1, U2 and U3

But these doors have disappeared in later versions of qiskit

They can be built with P and U gates using the following equivalences:

\left\{\begin{matrix} U_{1}\left(\lambda\right)=P\left(\lambda\right)\\ U_{2}\left(\Phi,\lambda\right)=U\left(\Phi,\lambda,\frac{\pi}{2}\right)\\ U_{3}\left(\theta,\Phi,\lambda\right)=U\left(\theta,\Phi,\lambda\right) \end{matrix}\right.

It is defined as

U\left(\theta,\Phi,\lambda\right)= \begin{pmatrix} \cos{\frac{\theta}{2}} & -\exp^{i\cdot\lambda}\cdot\sin{\frac{\theta}{2}} \\ \exp^{i\cdot\Phi}\cdot\sin{\frac{\theta}{2}} & \exp^{i\cdot\left(\Phi+\lambda\right)}\cdot\cos{\frac{\theta}{2}} \end{pmatrix}

There are two specific cases in which we obtain the following equivalences:

\left\{\begin{matrix} H=U\left(\frac{\pi}{2},0,\pi\right)= \frac{1}{\sqrt{2}}\cdot \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}\\ P=U\left(0,0,\lambda\right)= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{i\cdot\lambda} \end{pmatrix} \end{matrix}\right.

Gate P

P\left(\Phi\right)= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{i\cdot\Phi} \end{pmatrix}

Gate P Qiskit code:

Gate U1

U_{1}\left(\lambda\right)= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{i\cdot\lambda} \end{pmatrix} =P\left(\lambda\right)

Qiskit code to Gate U1 in previous versions:

Gate U2

U_{2}\left(\Phi,\lambda\right)= \frac{1}{\sqrt{2}}\cdot\begin{pmatrix} 1 & -\exp^{i\cdot\lambda} \\ \exp^{i\cdot\Phi} & \exp^{i\cdot\left(\Phi+\lambda\right)} \end{pmatrix} =U\left(\Phi,\lambda,\frac{\pi}{2}\right)

Qiskit code to Gate U2 in previous versions:

Gate U3

U_{3}\left(\theta,\Phi,\lambda\right)= \begin{pmatrix} \cos{\frac{\theta}{2}} & -\exp^{i\cdot\lambda}\cdot\sin{\frac{\theta}{2}} \\ \exp^{i\cdot\Phi}\cdot\sin{\frac{\theta}{2}} & \exp^{i\cdot\left(\Phi+\lambda\right)}\cdot\cos{\frac{\theta}{2}} \end{pmatrix} =U\left(\theta,\Phi,\lambda\right)

Qiskit code to Gate U3 in previous versions:

Gate S

Make a quarter turn around the Bloch sphere

It is defined as \Phi =\frac{\pi}{2} and for that reason it is equivalent to a Gate U_{1}\left(\frac{\pi}{2}\right)

S= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{i\cdot\frac{\pi}{2}} \end{pmatrix} = U_{1}\left(\frac{\pi}{2}\right)

And whose representation in Dirac notation is:

SS|q\succ=\mathbb{Z}|q\succ

Gate S Qiskit code:

Gate S

Arises from a negative Gate S

It is defined as \Phi =-\frac{\pi}{2} and for that reason it is equivalent to a Gate U_{1}\left(\frac{-pi}{2}\right)

S= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{-i\cdot\frac{\pi}{2}} \end{pmatrix} = U_{1}\left(\frac{-pi}{2}\right)

Qiskit code to Gate S:

Gate T

It is similar to the Gate S and is also known as the \sqrt[4]{\mathbb{Z}}

It is defined as \Phi =\frac{\pi}{4} and for that reason it is equivalent to a Gate U_{1}\left(\frac{\pi}{4}\right)

T= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{i\cdot\frac{\pi}{4}} \end{pmatrix} = U_{1}\cdot\left(\frac{\pi}{4}\right)

Qiskit code of Gate T:

Gate T

Arises from a negative Gate T

It is defined as \Phi =-\frac{\pi}{4} and for that reason it is equivalent to a Gate U_{1}\left(\frac{-\pi}{4}\right)

T= \begin{pmatrix} 1 & 0 \\ 0 & \exp^{i\cdot\frac{\pi}{4}} \end{pmatrix} = U_{1}\cdot\left(\frac{-\pi}{4}\right)

Qiskit code to Gate T:

Standard rotation gates

These gates represent a particular type of rotation, derived from Pauli matrices

In general they are defined as:

R_{p}\left(\theta\right)=\exp\left(-\frac{i\cdot\theta}{2}\right)=\cos\left(\frac{\theta}{2}\right)\cdot I-i\cdot \sin\left(\frac{\theta}{2}\right)\cdot P

Gate Rx (Standard rotation around the x-axis)

The Gate Rx it is equivalent to U\left(\theta,\frac{-\pi}{2},\frac{\pi}{2}\right)

R_{x}\left(\theta\right)= \begin{pmatrix} \cos\left(\frac{\theta}{2}\right) & -i\cdot\sin\left(\frac{\theta}{2}\right) \\ -i\cdot\sin\left(\frac{\theta}{2}\right) & \cos\left(\frac{\theta}{2}\right) \end{pmatrix} = U\left(\theta,\frac{-\pi}{2},\frac{\pi}{2}\right)

Qiskit code to Gate Rx:

Gate Ry (Standard rotation around the y-axis)

The Gate Ry it is equivalent to U\left(\theta,0,0\right)

R_{y}\left(\theta\right)= \begin{pmatrix} \cos\left(\frac{\theta}{2}\right) & -\sin\left(\frac{\theta}{2}\right) \\ \sin\left(\frac{\theta}{2}\right) & \cos\left(\frac{\theta}{2}\right) \end{pmatrix} = U\left(\theta,0,0\right)

Qiskit code to Gate Ry:

Gate Rz (Standard rotation around the z-axis)

The Gate Rz it is equivalent to P\left(\phi\right)

R_{z}\left(\phi\right)= \begin{pmatrix} \exp^{-i\cdot \frac{\phi}{2}} & 0 \\ 0 & \exp^{i\cdot \frac{\phi}{2}}\end{pmatrix} = P\left(\phi\right)

Qiskit code to Gate Rz: