1

I am working with a linear map $V: A \to B$, and I want to generate a sample of a unitary 1-design over the Hilbert space $A$ in Python. Specifically, the 1-design is defined as:

$$ \chi_0 = \left\{ Q P Q^\dagger : P \in \mathcal{P},\ Q^\dagger|\psi_i\rangle = |i\rangle \right\}, $$

where:

  • $\mathcal{P}$ is the generalized Pauli group over $A$ (i.e., $n$-qubit Pauli group),
  • $\{|\psi_i\rangle\}$ is the eigenbasis of the operator $V^\dagger V$,
  • $\{|i\rangle\}$ is the computational basis spanning A,
  • $Q$ is a unitary that maps $|\psi_i\rangle$ to $|i\rangle$ (i.e., $Q^\dagger |\psi_i\rangle = |i\rangle$).

I would like to:

  1. Construct or sample from such a set $\chi_0$ in Python.
  2. Know how to implement this when $A$ is a space of $n$ qubits, using libraries like QuTiP, Qiskit, or NumPy.

How can I build such a set $\chi_0$ numerically? Are there any existing utilities or recommended approaches to do the change of basis and apply Pauli twirling efficiently?

Any help (including examples) would be greatly appreciated.

Ceasar
  • 131
  • 9

0 Answers0