QOTP(circ, num, two_qubit_gate='cx', coupling_map=None, seed=None)[source]

Performs a QOTP (or random compilation) on a generic circuit.

This is essentially the same protocol as used in randomized compiling, but follows the methods in Samuele Ferracin, Theodoros Kapourniotis and Animesh Datta New Journal of Physics, Volume 21, November 2019 https://iopscience.iop.org/article/10.1088/1367-2630/ab4fd6

  • circ (QuantumCircuit) – A generic quantum circuit

  • num (int) – the number of one-time pads to return

  • two_qubit_gate (string) – a flag as to which 2 qubit gate to compile with, can be cx or cz

  • coupling_map (list) – a particular device topology as a list of list (e.g. [[0,1],[1,2],[2,0]])

  • seed (int) – seed to the random number generator


a tuple of type (qotp_circ, qotp_postp) where:

qotp_circs (list): a list of circuits with qotp applied qotp_postps (list): a list of arrays specifying the one time pads

Return type