Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

BConfig

BConfig(backend, indicator=True) GitHub(opens in a new tab)

Bases: object

This class is used to create a GHZ circuit with parallellized CNOT gates to increase fidelity


Methods

get_ghz_layout

BConfig.get_ghz_layout(n, transpiled=True, barriered=True)

Feeds the Tier Dict of the backend to create a basic qiskit GHZ circuit with no measurement; :type n: int :param n: number of qubits :type transpiled: bool :param transpiled: toggle on/off transpilation - useful for tomography :type barriered: bool :param barriered: yes/no whether to barrier each step of CNOT gates

Return type

Tuple[QuantumCircuit, Dict]

Returns

A GHZ Circuit and its initial GHZ layout

get_ghz_mqc

BConfig.get_ghz_mqc(n, delta, full_measurement=True)

This function creates an MQC circuit with n qubits, where the middle phase rotation around the z axis is by delta

Parameters

  • n (int) – number of qubits
  • delta (float) – the rotation of the middle phase around the z axis
  • full_measurement (bool) – Whether to append full measurement, or only on the first qubit

Return type

Tuple[QuantumCircuit, Dict]

Returns

The MQC circuit and the initial GHZ layout

get_ghz_mqc_para

BConfig.get_ghz_mqc_para(n, full_measurement=True)

Get a parametrized MQC circuit. Remember that get_counts() method accepts an index now, not a circuit

Parameters

  • n (int) – number of qubits
  • full_measurement (bool) – Whether to append full measurement, or only on the first qubit

Return type

Tuple[QuantumCircuit, Parameter, Dict]

Returns

The MQC circuit, its delta parameter, and the initial GHZ layout

get_ghz_po

BConfig.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

Parameters

  • n (int) – number of qubits
  • delta (float) – the middle superposition rotation

Return type

Tuple[QuantumCircuit, Dict]

Returns

The Parity Oscillation circuit and the initial GHZ layout

get_ghz_po_para

BConfig.get_ghz_po_para(n)

Get a parametrized PO circuit. Remember that get_counts() method accepts an index now, not a circuit. The two phase parameters are a quirk of the Parameter module

Parameters

n (int) – number of qubits

Return type

Tuple[QuantumCircuit, List[Parameter], Dict]

Returns

A parity oscillation circuit, its Delta/minus-delta parameters,

and the initial ghz layout

get_ghz_simple

BConfig.get_ghz_simple(n, full_measurement=True)

Get simple GHZ circuit with measurement

Parameters

  • n (int) – number of qubits
  • full_measurement (bool) – Whether to append full measurement, or only on the first qubit

Return type

Tuple[QuantumCircuit, QuantumRegister, Dict]

Returns

A GHZ Circuit, its measurement circle quantum register and the initial GHZ layout

get_measurement_circ

BConfig.get_measurement_circ(n, qregname, cregname, full_measurement=True)

Creates a measurement circuit that can toggle between measuring the control qubit or measuring all qubits. The default is measurement of all qubits.

Parameters

  • n (int) – number of qubits
  • qregname (str) – name of the qubit register
  • cregname (str) – name of the classical register
  • full_measurement (bool) – Whether to append full measurement, or only on the first qubit

Return type

QuantumCircuit

Returns

The measurement circuit

get_tier_dict

BConfig.get_tier_dict()

Take the nodes of the BConfig to create a Tier Dictionary, where keys are the steps in the process, and the values are the connections following pattern of: [controlled qubit, NOT qubit]. Thus the backend’s GHZ state is parallelized.

Return type

Dict

Returns

Tier dictionary - [step in process, control-target connection]

Facilitates parallelized GHZ circuits

Was this page helpful?
Report a bug or request content on GitHub.