fourth_order_tensor

qugradlab.systems.skeletons.qubits.qubit_skeleton.fourth_order_tensor(hilbert_space: QubitSpace, xyz_basis: bool = True)[source]

Generates a tensor given by the following expression

\[ u_{i,j,k,l,\alpha,\beta}\coloneqq \left(\sigma^{(i)}_k\sigma^{(j)}_l\right)_{\alpha,\beta} \]
where \(\sigma^{(i)}_j\) is the \(j\)th Pauli operator acting on the \(i\)th qubit, and \(\alpha\) and \(\beta\) are the rows and columns of the matrix representation of the operator \(\sigma^{(i)}_k\sigma^{(j)}_l\) in the computational basis.

Parameters:
  • hilbert_space (QubitSpace) – The hilbert space of the qubits

  • xyz_basis (bool) – Uses the Pauli basis if True and the \(\sigma_{\pm}\coloneqq(\sigma_1\pm i\sigma_2)/2\) and Pauli-z basis if False, by default True

Returns:

The fourth order skeleton tensor

Return type:

NDArray[Shape[hilbert_space.qubits, hilbert_space.qubits, 3, 3, hilbert_space.dim, hilbert_space.dim], int]