Skip to main content
IBM Quantum Platform

Schaltkreiswandler

qiskit.converters


QuantumCircuit -> Schaltungskomponenten

circuit_to_instruction

qiskit.converters.circuit_to_instruction(circuit, parameter_map=None, equivalence_library=None, label=None)

GitHub

Erstelle ein Instruction Objekt aus einem QuantumCircuit.

Die Anweisung ist anonym (nicht an ein bestimmtes Quantenregister gebunden) und kann daher in eine andere Schaltung eingefügt werden. Die Anweisung hat den gleichen Namen wie die Schaltung.

Parameter

  • circuit (QuantumCircuit) – den Eingangskreis.
  • parameter_map (dict) – Bei parametrisierten Schaltungen eine Zuordnung von Parametern in der Schaltung zu Parametern, die in der Anweisung verwendet werden sollen. Falls keine, wird die Anweisung auch durch vorhandene Schaltkreisparameter parametrisiert.
  • equivalence_library (EquivalenceLibrary) – Optionale Äquivalenzbibliothek, in der der konvertierte Befehl registriert wird.
  • label (str) – Optionales Hinweisschild.

Erhöht

QiskitError - wenn der Parameter_map nicht mit der Schaltung kompatibel ist

Rückgabe

eine Anweisung, die der Aktion der Eingangsschaltung entspricht. Bei der Zerlegung ergibt diese Anweisung die Komponenten, aus denen die ursprüngliche Schaltung besteht.

Rückgabetyp

qiskit.circuit.Instruction

Beispiel

from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from qiskit.converters import circuit_to_instruction

q = QuantumRegister(3, 'q')
c = ClassicalRegister(3, 'c')
circ = QuantumCircuit(q, c)
circ.h(q[0])
circ.cx(q[0], q[1])
circ.measure(q[0], c[0])
circ.rz(0.5, q[1])
circuit_to_instruction(circ)

circuit_to_gate

qiskit.converters.circuit_to_gate(circuit, parameter_map=None, equivalence_library=None, label=None)

GitHub

Erstelle ein Gate Objekt aus einem QuantumCircuit.

Das Gatter ist anonym (nicht an ein bestimmtes Quantenregister gebunden) und kann daher in eine andere Schaltung eingefügt werden. Das Gatter hat den gleichen Namen wie die Schaltung.

Parameter

  • circuit (QuantumCircuit) – den Eingangskreis.
  • parameter_map (dict) – Bei parametrisierten Schaltungen eine Zuordnung von Parametern in der Schaltung zu Parametern, die im Gatter verwendet werden sollen. Wenn keine, werden die vorhandenen Schaltkreisparameter auch das Gate parametrieren.
  • equivalence_library (EquivalenceLibrary) – Optionale Äquivalenzbibliothek, in der das konvertierte Gatter registriert wird.
  • label (str) – Optionales Gate-Etikett.

Erhöht

QiskitError - wenn die Schaltung nicht einheitlich ist oder wenn der Parameter_map nicht mit der Schaltung kompatibel ist

Rückgabe

a Gatter, das der Wirkung der Eingangsschaltung entspricht. Bei der Zerlegung dieses Gatters erhält man die Komponenten, aus denen die ursprüngliche Schaltung besteht.

Rückgabetyp

Gate


QuantumCircuit <-> DagCircuit

circuit_to_dag

qiskit.converters.circuit_to_dag(circuit, copy_operations=True, *, qubit_order=None, clbit_order=None)

GitHub

Erstelle ein DAGCircuit Objekt aus einem QuantumCircuit.

Dies ist auch als QuantumCircuit.to_dag().

Parameter

  • circuit (QuantumCircuit) – den Eingangskreis.
  • DAGCircuitcopy_operations (bool) – Führen Sie eine Deep-Copy der Operationsobjekte in der QuantumCircuit für die Ausgabe durch. Diese Option sollte nur dann aktiviert werden, False wenn die Eingabe QuantumCircuit nicht mehr verwendet wird, da die Operationen in der Ausgabe DAGCircuit gemeinsam genutzte Instanzen sind und Änderungen an den Operationen in der Eingabe DAGCircuit sich in der QuantumCircuit Ausgabe widerspiegeln (und umgekehrt).
  • qubit_order (Iterable[Qubit] or None) – die Reihenfolge, in der die Qubits in der Ausgabe-DAG indiziert werden sollen. Standardmäßig wird die gleiche Reihenfolge wie in der Schaltung verwendet.
  • clbit_order (Iterable[Clbit] or None) – die Reihenfolge, in der die Clbits in der Ausgabe-DAG indiziert werden sollen. Standardmäßig wird die gleiche Reihenfolge wie in der Schaltung verwendet.

Rückgabe

die DAG, die die Eingangsschaltung darstellt.

Rückgabetyp

DAGCircuit

Erhöht

ValueError - wenn die Parameter qubit_order oder clbit_order nicht mit den Bits in der Schaltung übereinstimmen.

Beispiel

from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from qiskit.dagcircuit import DAGCircuit
from qiskit.converters import circuit_to_dag

q = QuantumRegister(3, 'q')
c = ClassicalRegister(3, 'c')
circ = QuantumCircuit(q, c)
circ.h(q[0])
circ.cx(q[0], q[1])
circ.measure(q[0], c[0])
circ.rz(0.5, q[1])
dag = circuit_to_dag(circ)

dag_to_circuit

qiskit.converters.dag_to_circuit(dag, copy_operations=True)

GitHub

Erstellen Sie ein QuantumCircuit Objekt aus einer DAGCircuit.

Dies ist auch unter DAGCircuit.to_circuit(). verfügbar.

Parameter

  • dag (DAGCircuit) – der Eingabe-DAG.
  • QuantumCircuitcopy_operations (bool) – Führen Sie eine Deep-Copy der Operationsobjekte in der DAGCircuit für die Ausgabe durch. Diese Option sollte nur dann aktiviert werden, False wenn die Eingabe DAGCircuit nicht mehr verwendet wird, da die Operationen in der Ausgabe QuantumCircuit gemeinsam genutzte Instanzen sind und Änderungen an den Operationen in der Eingabe DAGCircuit sich in der QuantumCircuit Ausgabe widerspiegeln (und umgekehrt).

Rückgabe

die Schaltung, die den Eingang dag.

Rückgabetyp

QuantumCircuit

Beispiel

from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from qiskit.dagcircuit import DAGCircuit
from qiskit.converters import circuit_to_dag
from qiskit.circuit.library.standard_gates import CHGate, U2Gate, CXGate
from qiskit.converters import dag_to_circuit

q = QuantumRegister(3, 'q')
c = ClassicalRegister(3, 'c')
circ = QuantumCircuit(q, c)
circ.h(q[0])
circ.cx(q[0], q[1])
circ.measure(q[0], c[0])
circ.rz(0.5, q[1])
dag = circuit_to_dag(circ)
circuit = dag_to_circuit(dag)
circuit.draw('mpl')
Schaltplan, der durch den vorherigen Code ausgegeben wurde.

QuantumCircuit <-> DagDependency

dagdependency_to_circuit

qiskit.converters.dagdependency_to_circuit(dagdependency)

GitHub

Erstellen Sie ein QuantumCircuit Objekt aus einer DAGDependency.

Parameter

dagdependency (DAGDependency) – der Eingabe-DAG.

Rückgabe

die Schaltung, die die Abhängigkeit vom Eingangstag darstellt.

Rückgabetyp

QuantumCircuit

circuit_to_dagdependency

qiskit.converters.circuit_to_dagdependency(circuit, create_preds_and_succs=True)

GitHub

Erstellen Sie ein DAGDependency Objekt aus einer QuantumCircuit.

Parameter

  • circuit (QuantumCircuit) – den Eingangskreis.
  • create_preds_and_succs (bool) – ob für jeden Knoten Listen von Vorgängern und Nachfolgern erstellt werden sollen.

Rückgabe

die DAG, die den Eingabeschaltkreis als eine DAG-Abhängigkeit darstellt.

Rückgabetyp

DAG-Abhängigkeit


DagCircuit <-> DagDependency

dag_to_dagdependency

qiskit.converters.dag_to_dagdependency(dag, create_preds_and_succs=True)

GitHub

Erstellen Sie ein DAGDependency Objekt aus einer DAGCircuit.

Parameter

  • dag (DAGCircuit) – der Eingabe-DAG.
  • create_preds_and_succs (bool) – ob für jeden Knoten Listen von Vorgängern und Nachfolgern erstellt werden sollen.

Rückgabe

die DAG, die den Eingabeschaltkreis als eine DAG-Abhängigkeit darstellt.

Rückgabetyp

DAG-Abhängigkeit

dagdependency_to_dag

qiskit.converters.dagdependency_to_dag(dagdependency)

GitHub

Erstellen Sie ein DAGCircuit Objekt aus einer DAGDependency.

Parameter

dagdependency (DAGDependency) – der Eingabe-DAG.

Rückgabe

die DAG, die die Eingangsschaltung darstellt.

Rückgabetyp

DAGCircuit

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.