Verification (qiskit.ignis.verification)

Quantum Volume

qv_circuits([qubit_lists, ntrials, qr, cr])

Return a list of square quantum volume circuits (depth=width)

QVFitter([backend_result, …])

Class for fitters for quantum volume.

Randomized Benchmarking

Randomization benchmarking (RB) is a well-known technique to measure average gate performance by running sequences of random Clifford gates that should return the qubits to the initial state. Qiskit Ignis has tools to generate one- and two-qubit gate Clifford RB sequences simultaneously, as well as performing interleaved RB, purity RB and RB on the non-Clifford CNOT-Dihedral group.

randomized_benchmarking_seq([nseeds, …])

Generate generic randomized benchmarking (RB) sequences.

RBFitter(backend_result, cliff_lengths[, …])

Class for fitters for randomized benchmarking.

InterleavedRBFitter(original_result, …[, …])

Class for fitters for interleaved RB, derived from RBFitterBase class.

PurityRBFitter(purity_result, npurity, …)

Class for fitter for purity RB.

CNOTDihedralRBFitter(cnotdihedral_Z_result, …)

Class for fitters for non-Clifford CNOT-Dihedral RB.


Abstract base class (ABS) for utils for various groups and sets of gates for randomized benchmarking.

Clifford([num_qubits, table, phases])

Clifford Operator Class.

CliffordUtils([num_qubits, group_tables, …])

Class for util functions for the Clifford group.


CNOT-dihedral Object Class.

DihedralUtils([num_qubits, group_tables, …])

Class for util functions for the CNOT-dihedral group.

count_gates(qobj, basis, qubits)

Take a compiled qobj and output the number of gates in each circuit.

gates_per_clifford(transpiled_circuits_list, …)

Take a list of transpiled QuantumCircuit and use these to calculate the number of gates per Clifford.

calculate_1q_epg(gate_per_cliff, epc_1q, qubit)

Convert error per Clifford (EPC) into error per gates (EPGs) of single qubit basis gates.

calculate_2q_epg(gate_per_cliff, epc_2q, …)

Convert error per Clifford (EPC) into error per gate (EPG) of two qubit cx gates.

calculate_1q_epc(gate_per_cliff, epg_1q, qubit)

Convert error per gate (EPG) into error per Clifford (EPC) of single qubit basis gates.

calculate_2q_epc(gate_per_cliff, epg_2q, …)

Convert error per gate (EPG) into error per Clifford (EPC) of two qubit cx gates.

coherence_limit([nQ, T1_list, T2_list, gatelen])

The error per gate (1-average_gate_fidelity) given by the T1,T2 limit.

twoQ_clifford_error(ngates, gate_qubit, gate_err)

The two qubit Clifford gate error given measured errors in the primitive gates used to construct the Clifford (see arxiv:1712.06550).


state_tomography_circuits(circuit, …[, …])

Return a list of quantum state tomography circuits.

process_tomography_circuits(circuit, …[, …])

Return a list of quantum process tomography circuits.


Quantum tomography basis

StateTomographyFitter(result, circuits[, …])

Maximum-Likelihood estimation state tomography fitter.

ProcessTomographyFitter(result, circuits[, …])

Maximum-Likelihood estimation process tomography fitter.

TomographyFitter(result, circuits[, …])

Base maximum-likelihood estimate tomography fitter class

marginal_counts(counts[, meas_qubits, pad_zeros])

Compute marginal counts from a counts dictionary.

combine_counts(counts1, counts2)

Combine two counts dictionaries.


Converts count dict to an expectation counts dict.


Return ordered count keys.

Topological Codes

RepetitionCode(d[, T])

Implementation of a distance d repetition code, implemented over T syndrome measurement rounds.

GraphDecoder(code[, S])

Class to construct the graph corresponding to the possible syndromes of a quantum error correction code, and then run suitable decoders.

lookuptable_decoding(training_results, …)

Calculates the logical error probability using postselection decoding.


Calculates the logical error probability using postselection decoding.


AccreditationCircuits(target_circ[, …])

This class generates accreditation circuits from a target.


Class for fitters for accreditation

QOTP(circ, num[, two_qubit_gate, …])

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

QOTPCorrectCounts(qotp_counts, qotp_postp)

Corrects a dictionary of results, shifting the qotp