Pauli
In mathematical physics and mathematics, the Pauli matrices are a set of three 2 × 2 complex matrices which are Hermitian, involutory and unitary.
The Pauli matrices, also called the Pauli spin matrices, are complex matrices that arise in Pauli's treatment of spin in quantum mechanics. They are defined by:
$\sigma_1 = \sigma_x = \begin{bmatrix} 0 && 1 \\ 1 && 0 \end{bmatrix}$
$\sigma_2 = \sigma_y = \begin{bmatrix} 0 && -i \\ i && 0 \end{bmatrix}$
$\sigma_3 = \sigma_z = \begin{bmatrix} 1 && 0 \\ 0 && -1 \end{bmatrix}$
In quantum mechanics, pauli matrices occur in the Pauli equation which takes into account the interaction of the spin of a particle with an external electromagnetic field.
Pauli matrices also represent the interaction states of two polarization filters for horizontal / vertical polarization, 45º polarization, and circular polarization.
Each Pauli matrix is Hermitian, and together with the identity matrix
$I$
, the Pauli matrices form a basis for the real vector space of 2 × 2 Hermitian matrices. This means that any 2 × 2 Hermitian matrix can be written in a unique way as a linear combination of Pauli matrices, with all coefficients being real numbers.
The identity matrix
$I$
is sometimes considered as the zero
$^{th}$
Pauli matrix or
$\sigma_0$
The Pauli matrices are important in the context of quantum mechanics, and quantum information more generally, as they can be used to describe the quantum states, as well as the evolution of the quantum states, of 2 Dimensional quantum systems, called qubits. They are also involved in fundamental quantum information processing protocols such as quantum teleportation.

## Pauli

Generating Pauli-X for n qubits,
To define
$X = \sigma_x( 111 )$
using numpy, one need to define the entire matrix .
import numpy as np
# Define Pauli-X for [ 1 1 1 ] using numpy
X = np.array([
[0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 0, 0, 0]
])
These kind of definition for
$X = \sigma_x( 111 )$
can be obtained easily using QuTIpy.
from qutipy.Pauli import generate_nQubit_Pauli_X
# Define Pauli-X for [ 1 1 1 ] using qutipy
X = generate_nQubit_Pauli_X([1, 1, 1])