toqito.matrices.pauli

Generates the Pauli matrices.

Module Contents

toqito.matrices.pauli.pauli(ind, is_sparse=False)[source]

Produce a Pauli operator [@WikiPauli].

Produces the 2-by-2 Pauli matrix indicated by the value of ind or a tensor product of Pauli matrices when ind is provided as a list. In general, when ind is a list ([i_1, i_2, dots, i_n]), the function returns the tensor product

[

P_{i_1} otimes P_{i_2} otimes cdots otimes P_{i_n}

]

where each (i_k in {0,1,2,3}), with the correspondence: (P_{0} = I), (P_{1} = X), (P_{2} = Y), and (P_{3} = Z).

The 2-by-2 Pauli matrices are defined as follows:

[
begin{equation}
begin{aligned}
X = begin{pmatrix}

0 & 1 \ 1 & 0

end{pmatrix}, quad

Y = begin{pmatrix}

0 & -i \ i & 0

end{pmatrix}, quad

Z = begin{pmatrix}

1 & 0 \ 0 & -1

end{pmatrix}, quad

I = begin{pmatrix}

1 & 0 \ 0 & 1

end{pmatrix}.

end{aligned}

end{equation}

]

Examples

Example for identity Pauli matrix.

```python exec=”1” source=”above” from toqito.matrices import pauli

print(pauli(“I”)) ```

Example for Pauli-X matrix.

```python exec=”1” source=”above” from toqito.matrices import pauli

print(pauli(“X”)) ```

Example for Pauli-Y matrix.

```python exec=”1” source=”above” from toqito.matrices import pauli

print(pauli(“Y”)) ```

Example for Pauli-Z matrix.

```python exec=”1” source=”above” from toqito.matrices import pauli

print(pauli(“Z”)) ```

Example using ind as list.

```python exec=”1” source=”above” from toqito.matrices import pauli

print(pauli([0,1])) ```

Parameters:
  • ind (int | str | list[int] | list[str]) – The index to indicate which Pauli operator to generate.

  • is_sparse (bool) – Returns a compressed sparse row array if set to True and a non compressed sparse row array if set to

  • False.

Return type:

numpy.ndarray | scipy.sparse.csr_array | None