AccreditationCircuits
AccreditationCircuits(target_circ, two_qubit_gate='cx', coupling_map=None, seed=None)
Bases: object
This class generates accreditation circuits from a target.
Implementation follows the methods from [1]
References
- S. Ferracin, T. Kapourniotis, A. Datta. Accrediting outputs of noisy intermediate-scale quantum computing devices, New Journal of Physics, Volume 21, 113038. (2019). NJP 113038(opens in a new tab)
Initialize the circuit generation class parse into layers
Parameters
- target_circ (QuantumCircuit) – a qiskit circuit to accredit
- two_qubit_gate (string) – a flag as to which 2 qubit gate to compile with, can be cx or cz
- coupling_map (list) – some particular device topology as list of list (e.g. [[0,1],[1,2],[2,0]])
- seed (int) – seed to the random number generator
Methods
generate_circuits
AccreditationCircuits.generate_circuits(num_trap)
Generate quantum circuits for accreditation
Parameters
num_trap (int) – number of trap circuits
Returns
A tuple of the form
(circuit_list
, postp_list`, v_zero
) where: circuit_list (list): accreditation circuits postp_list (list): strings used for classical post-processing v_zero (int): position of target circuit
Return type
tuple
target_circuit
AccreditationCircuits.target_circuit(target_circ, two_qubit_gate='cx', coupling_map=None)
Load target circuit in to class, and parse into layers
Parameters
- target_circ (QuantumCircuit) – a qiskit circuit to accredit
- two_qubit_gate (string) – a flag as to which 2 qubit gate to compile with, can be cx or cz
- coupling_map (list) – some particular device topology as list of list (e.g. [[0,1],[1,2],[2,0]])