qiskit-documentation/docs/api/qiskit/0.32/verification.mdx

98 lines
16 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: verification
description: API reference for qiskit.ignis.verification
in_page_toc_min_heading_level: 2
python_api_type: module
python_api_name: qiskit.ignis.verification
---
<span id="module-qiskit.ignis.verification" />
<span id="qiskit-ignis-verification" />
# Verification
<span id="module-qiskit.ignis.verification" />
`qiskit.ignis.verification`
## Quantum Volume
| | |
| -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| [`qv_circuits`](qiskit.ignis.verification.qv_circuits "qiskit.ignis.verification.qv_circuits")(qubit\_lists\[, ntrials, qr, cr, seed]) | Return a list of square quantum volume circuits (depth=width) |
| [`QVFitter`](qiskit.ignis.verification.QVFitter "qiskit.ignis.verification.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`](qiskit.ignis.verification.randomized_benchmarking_seq "qiskit.ignis.verification.randomized_benchmarking_seq")(\[nseeds, …]) | Generate generic randomized benchmarking (RB) sequences. |
| [`RBFitter`](qiskit.ignis.verification.RBFitter "qiskit.ignis.verification.RBFitter")(backend\_result, cliff\_lengths\[, …]) | Class for fitters for randomized benchmarking. |
| [`InterleavedRBFitter`](qiskit.ignis.verification.InterleavedRBFitter "qiskit.ignis.verification.InterleavedRBFitter")(original\_result, …\[, …]) | Class for fitters for interleaved RB, derived from RBFitterBase class. |
| [`PurityRBFitter`](qiskit.ignis.verification.PurityRBFitter "qiskit.ignis.verification.PurityRBFitter")(purity\_result, npurity, …) | Class for fitter for purity RB. |
| [`CNOTDihedralRBFitter`](qiskit.ignis.verification.CNOTDihedralRBFitter "qiskit.ignis.verification.CNOTDihedralRBFitter")(cnotdihedral\_Z\_result, …) | Class for fitters for non-Clifford CNOT-Dihedral RB. |
| [`CNOTDihedral`](qiskit.ignis.verification.CNOTDihedral "qiskit.ignis.verification.CNOTDihedral")(data\[, validate]) | CNOT-dihedral Object Class. |
| [`count_gates`](qiskit.ignis.verification.count_gates "qiskit.ignis.verification.count_gates")(qobj, basis, qubits) | Take a compiled qobj and output the number of gates in each circuit. |
| [`gates_per_clifford`](qiskit.ignis.verification.gates_per_clifford "qiskit.ignis.verification.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`](qiskit.ignis.verification.calculate_1q_epg "qiskit.ignis.verification.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`](qiskit.ignis.verification.calculate_2q_epg "qiskit.ignis.verification.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`](qiskit.ignis.verification.calculate_1q_epc "qiskit.ignis.verification.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`](qiskit.ignis.verification.calculate_2q_epc "qiskit.ignis.verification.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`](qiskit.ignis.verification.coherence_limit "qiskit.ignis.verification.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`](qiskit.ignis.verification.twoQ_clifford_error "qiskit.ignis.verification.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). |
## Tomography
| | |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| [`state_tomography_circuits`](qiskit.ignis.verification.state_tomography_circuits "qiskit.ignis.verification.state_tomography_circuits")(circuit, …\[, …]) | Return a list of quantum state tomography circuits. |
| [`process_tomography_circuits`](qiskit.ignis.verification.process_tomography_circuits "qiskit.ignis.verification.process_tomography_circuits")(circuit, …\[, …]) | Return a list of quantum process tomography circuits. |
| [`gateset_tomography_circuits`](qiskit.ignis.verification.gateset_tomography_circuits "qiskit.ignis.verification.gateset_tomography_circuits")(\[…]) | Return a list of quantum gate set tomography (GST) circuits. |
| [`basis`](qiskit.ignis.verification.basis#module-qiskit.ignis.verification.basis "qiskit.ignis.verification.basis") | Quantum tomography basis |
| [`StateTomographyFitter`](qiskit.ignis.verification.StateTomographyFitter "qiskit.ignis.verification.StateTomographyFitter")(result, circuits\[, …]) | Maximum-Likelihood estimation state tomography fitter. |
| [`ProcessTomographyFitter`](qiskit.ignis.verification.ProcessTomographyFitter "qiskit.ignis.verification.ProcessTomographyFitter")(result, circuits\[, …]) | Maximum-Likelihood estimation process tomography fitter. |
| [`GatesetTomographyFitter`](qiskit.ignis.verification.GatesetTomographyFitter "qiskit.ignis.verification.GatesetTomographyFitter")(result, circuits\[, …]) | Initialize gateset tomography fitter with experimental data. |
| [`TomographyFitter`](qiskit.ignis.verification.TomographyFitter "qiskit.ignis.verification.TomographyFitter")(result, circuits\[, …]) | Base maximum-likelihood estimate tomography fitter class |
| [`marginal_counts`](qiskit.ignis.verification.marginal_counts "qiskit.ignis.verification.marginal_counts")(counts\[, meas\_qubits, pad\_zeros]) | Compute marginal counts from a counts dictionary. |
| [`combine_counts`](qiskit.ignis.verification.combine_counts "qiskit.ignis.verification.combine_counts")(counts1, counts2) | Combine two counts dictionaries. |
| [`expectation_counts`](qiskit.ignis.verification.expectation_counts "qiskit.ignis.verification.expectation_counts")(counts) | Converts count dict to an expectation counts dict. |
| [`count_keys`](qiskit.ignis.verification.count_keys "qiskit.ignis.verification.count_keys")(num\_qubits) | Return ordered count keys. |
## Entanglement
| | |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| [`BConfig`](qiskit.ignis.verification.BConfig "qiskit.ignis.verification.BConfig")(backend\[, indicator]) | This class is used to create a GHZ circuit with parallellized CNOT gates to increase fidelity |
| [`get_ghz_simple`](qiskit.ignis.verification.get_ghz_simple "qiskit.ignis.verification.get_ghz_simple")(n\[, measure, full\_measurement]) | Creates a linear GHZ state with the option of measurement |
| [`get_ghz_mqc`](qiskit.ignis.verification.get_ghz_mqc "qiskit.ignis.verification.get_ghz_mqc")(n, delta\[, full\_measurement]) | This function creates an MQC circuit with n qubits, where the middle phase rotation around the z axis is by delta |
| [`get_ghz_mqc_para`](qiskit.ignis.verification.get_ghz_mqc_para "qiskit.ignis.verification.get_ghz_mqc_para")(n\[, full\_measurement]) | This function creates an MQC circuit with n qubits, where the middle phase rotation around the z axis is parameterized |
| [`get_ghz_po`](qiskit.ignis.verification.get_ghz_po "qiskit.ignis.verification.get_ghz_po")(n, delta) | This function creates an Parity Oscillation circuit with n qubits, where the middle superposition rotation around the x and y axes is by delta |
| [`get_ghz_po_para`](qiskit.ignis.verification.get_ghz_po_para "qiskit.ignis.verification.get_ghz_po_para")(n) | This function creates a Parity Oscillation circuit with n qubits, where the middle superposition rotation around |
| [`ordered_list_generator`](qiskit.ignis.verification.ordered_list_generator "qiskit.ignis.verification.ordered_list_generator")(counts\_dictionary, qn) | For parity oscillations; just arranges dictionary of counts in bitwise binary order to compute dot products more easily |
| [`composite_pauli_z`](qiskit.ignis.verification.composite_pauli_z "qiskit.ignis.verification.composite_pauli_z")(qn) | Generates n tensored pauli z matrix upon input of qubit number |
| [`composite_pauli_z_expvalue`](qiskit.ignis.verification.composite_pauli_z_expvalue "qiskit.ignis.verification.composite_pauli_z_expvalue")(counts\_dictionary, qn) | Generates expectation value of n tensored pauli matrix upon input of qubit number and composite pauli matrix |
| [`Plotter`](qiskit.ignis.verification.Plotter "qiskit.ignis.verification.Plotter")(label) | Various plots of the ground state in MQC and PO experiments |
| [`rho_to_fidelity`](qiskit.ignis.verification.rho_to_fidelity "qiskit.ignis.verification.rho_to_fidelity")(rho) | Get fidelity given rho :type rho: `float` :param rho: The density matrix |
## Topological Codes
| | |
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| [`RepetitionCode`](qiskit.ignis.verification.RepetitionCode "qiskit.ignis.verification.RepetitionCode")(d\[, T]) | Implementation of a distance d repetition code, implemented over T syndrome measurement rounds. |
| [`GraphDecoder`](qiskit.ignis.verification.GraphDecoder "qiskit.ignis.verification.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`](qiskit.ignis.verification.lookuptable_decoding "qiskit.ignis.verification.lookuptable_decoding")(training\_results, …) | Calculates the logical error probability using postselection decoding. |
| [`postselection_decoding`](qiskit.ignis.verification.postselection_decoding "qiskit.ignis.verification.postselection_decoding")(results) | Calculates the logical error probability using postselection decoding. |
## Accreditation
| | |
| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------- |
| [`AccreditationCircuits`](qiskit.ignis.verification.AccreditationCircuits "qiskit.ignis.verification.AccreditationCircuits")(target\_circ\[, …]) | This class generates accreditation circuits from a target. |
| [`AccreditationFitter`](qiskit.ignis.verification.AccreditationFitter "qiskit.ignis.verification.AccreditationFitter")() | Class for fitters for accreditation |
| [`QOTP`](qiskit.ignis.verification.QOTP "qiskit.ignis.verification.QOTP")(circ, num\[, two\_qubit\_gate, …]) | Performs a QOTP (or random compilation) on a generic circuit. |
| [`QOTPCorrectCounts`](qiskit.ignis.verification.QOTPCorrectCounts "qiskit.ignis.verification.QOTPCorrectCounts")(qotp\_counts, qotp\_postp) | Corrects a dictionary of results, shifting the qotp |