Generalized Pauli matrices (rqutils.paulis)¶
Fundamentals¶
Generalized \(n\)-dimensional Pauli matrices \(\lambda^{(n)}_{k}\) (\(0 \leq k \leq n^2 - 1\)) are defined recursively:
\(\lambda^{(n)}_{0} = \sqrt{\frac{2}{n}} \mathrm{diag}(1, \dots, 1, 1)\)
\(\lambda^{(n)}_{k} = \mathrm{blkdiag}(\lambda^{(n-1)}_{k}, 0)\) for \(1 \leq k < (n-1)^2\)
\((\lambda^{(n)}_{(n-1)^2 + k})_{ab} = \xi_k \delta_{k//2, a}\delta_{n-1, b} + \eta_k \delta_{n-1, a}\delta_{k//2, b}\) for \(0 \leq k < 2(n-1)\), with \(\xi_k = \eta_k = 1\) (\(k\) even) and \(-\xi_k = \eta_k = i\) (\(k\) odd)
\(\lambda^{(n)}_{n^2-1} = \sqrt{\frac{2}{n(n-1)}} \mathrm{diag}(1, \dots, 1, -n+1)\)
These matrices satisfy the normalization condition
and thus form an orthonormal basis for the space of \(n\)-dimensional Hermitian matrices.
Implications of the normalization¶
Any \(n\)-dimensional Hermitian matrix \(H\) can be decomposed into a form
To extract the coefficient \(\nu_k\), one needs to compute
i.e., divide the product trace by 2.
Also, note that \(\lambda^{(n)}_{0}\) is not the \(n\)-dimensional identity matrix but differ from it by a factor \(\sqrt{\frac{2}{n}}\).
Pauli products¶
A physical composite system of \(s\) subsystems is usually better described in terms of a tensor product of \(s\) Hamiltonians each of dimension \(n_i (i=1, \dots, s)\), rather than a single Hamiltonian of \(N := \prod_{i=1}^{s} n^i\) dimensions. A natural decomposition of the former would be in terms of tensor products of \(s\) Pauli matrices
which constitute an orthonormal basis of the space of \(N\)-dimensional Hermitian matrices with a rather awkward normalization
The full s-body Hamiltonian \(H\) is decomposed into
and the component \(\nu_{k_1 \dots k_s}\) is extracted by
Dimension truncation¶
Thanks to the recursive definition of the Pauli matrices, the decomposition of an \(m\)-dimensional submatrix of an \(n\)-dimensional Hermitian matrix is mostly trivially obtained from the components of the latter:
If
then the truncated matrix \(\bar{H}^{(m)}\) is
with \(\bar{\nu}_k = \nu_k\) for \(1 \leq k \leq m^2 - 1\). For \(k=0\), however, we need to consider the projection of the diagonal matrices:
where \(\mathrm{tr}_{m}(\cdot)\) represents the \(m\)-dimensional trace, and \(\bar{\lambda}^{(n|m)}_k\) is the \(m\)-dimensional submatrix of \(\lambda^{(n)}_k\). Thus we have
Pauli Matrices API¶
|
Return a list of generalized Pauli matrices of given dimension(s) as an array. |
|
Return the Pauli decomposition coefficients \(\nu_{k_1 \dots k_n}\) of the matrix. |
|
Compose a matrix from the Pauli components. |
|
Return the vector that projects the components of original_dim decomposition onto lambda_0 of reduced_dim. |
|
Truncate a component array of a matrix into the components for a submatrix. |
|
Return the symmetry (-1, 0, 1) of the Pauli matrices. |
|
Generate the labels for the Pauli matrices of a given dimension. |