Skip to main content
IBM Quantum Platform

Convertidores de circuito

qiskit.converters


QuantumCircuit -> componentes del circuito

circuit_to_instruction

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

GitHub

Construir un Instruction objeto a partir de un QuantumCircuit.

La instrucción es anónima (no está vinculada a un registro cuántico con nombre), por lo que puede insertarse en otro circuito. La instrucción tendrá el mismo nombre de cadena que el circuito.

Parámetros

  • circuit (QuantumCircuit) – el circuito de entrada.
  • parameter_map (dict) – Para circuitos parametrizados, una correspondencia entre los parámetros del circuito y los parámetros que se utilizarán en la instrucción. Si es Ninguno, los parámetros de circuito existentes también parametrizarán la instrucción.
  • equivalence_library (EquivalenceLibrary) – Biblioteca de equivalencia opcional donde se registrará la instrucción convertida.
  • label (str) – Etiqueta de instrucciones opcional.

Eleva

QiskitError - si parameter_map no es compatible con el circuito

Devuelve

una instrucción equivalente a la acción del circuito de entrada. Tras la descomposición, esta instrucción dará como resultado los componentes que componen el circuito original.

Tipo de retorno

qiskit.circuit.Instruction

Ejemplo

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

Construir un Gate objeto a partir de un QuantumCircuit.

La puerta es anónima (no está vinculada a un registro cuántico con nombre), por lo que puede insertarse en otro circuito. La puerta tendrá el mismo nombre de cadena que el circuito.

Parámetros

  • circuit (QuantumCircuit) – el circuito de entrada.
  • parameter_map (dict) – Para los circuitos parametrizados, una correspondencia entre los parámetros del circuito y los parámetros que se utilizarán en la puerta. Si es Ninguno, los parámetros de circuito existentes también parametrizarán la Puerta.
  • equivalence_library (EquivalenceLibrary) – Biblioteca de equivalencia opcional donde se registrará la puerta convertida.
  • label (str) – Etiqueta de puerta opcional.

Eleva

QiskitError - si el circuito no es unitario o si parameter_map no es compatible con el circuito

Devuelve

a Puerta equivalente a la acción del circuito de entrada. Tras la descomposición, esta puerta dará lugar a los componentes que componen el circuito original.

Tipo de retorno

Puerta


QuantumCircuit <-> DagCircuit

circuit_to_dag

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

GitHub

Construir un DAGCircuit objeto a partir de un QuantumCircuit.

También se puede acceder a esto como QuantumCircuit.to_dag().

Parámetros

  • circuit (QuantumCircuit) – el circuito de entrada.
  • copy_operations (bool) – Copia en profundidad los objetos de operación en el QuantumCircuit para la salida DAGCircuit. Sólo debe establecerse en False si la entrada QuantumCircuit no se va a utilizar más, ya que las operaciones en la salida DAGCircuit serán instancias compartidas y las modificaciones de las operaciones en la entrada DAGCircuit se reflejarán en QuantumCircuit (y viceversa).
  • qubit_order (Iterable[Qubit] or None) – el orden en que deben indexarse los qubits en el DAG de salida. Por defecto, el orden es el mismo que en el circuito.
  • clbit_order (Iterable[Clbit] or None) – el orden en que deben indexarse los clbits en el DAG de salida. Por defecto, el orden es el mismo que en el circuito.

Devuelve

el DAG que representa el circuito de entrada.

Tipo de retorno

Circuito DAG

Eleva

ValueError - si los parámetros qubit_order o clbit_order no coinciden con los bits del circuito.

Ejemplo

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

Construir un objeto QuantumCircuit a partir de un DAGCircuit.

También se puede acceder a esto como DAGCircuit.to_circuit().

Parámetros

  • dag (DAGCircuit) – el dag de entrada.
  • copy_operations (bool) – Copia en profundidad los objetos de operación en el DAGCircuit para la salida QuantumCircuit. Sólo debe establecerse en False si la entrada DAGCircuit no se va a utilizar más, ya que las operaciones en la salida QuantumCircuit serán instancias compartidas y las modificaciones de las operaciones en la entrada DAGCircuit se reflejarán en QuantumCircuit (y viceversa).

Devuelve

el circuito que representa el dag de entrada.

Tipo de retorno

QuantumCircuit

Ejemplo

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')
Diagrama del circuito generado por el código anterior.

QuantumCircuit <-> DagDependency

dagdependency_to_circuit

qiskit.converters.dagdependency_to_circuit(dagdependency)

GitHub

Construir un objeto QuantumCircuit a partir de un DAGDependency.

Parámetros

dagdependency (DAGDependency) – el dag de entrada.

Devuelve

el circuito que representa la dependencia dag entrada.

Tipo de retorno

QuantumCircuit

circuit_to_dagdependency

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

GitHub

Construir un objeto DAGDependency a partir de un objeto QuantumCircuit.

Parámetros

  • circuit (QuantumCircuit) – el circuito de entrada.
  • create_preds_and_succs (bool) – si construir listas de predecesores y sucesores para cada nodo.

Devuelve

el DAG que representa el circuito de entrada como una dependencia dag.

Tipo de retorno

DAGDependencia


DagCircuit <-> DagDependency

dag_to_dagdependency

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

GitHub

Construir un objeto DAGDependency a partir de un DAGCircuit.

Parámetros

  • dag (DAGCircuit) – el dag de entrada.
  • create_preds_and_succs (bool) – si construir listas de predecesores y sucesores para cada nodo.

Devuelve

el DAG que representa el circuito de entrada como una dependencia dag.

Tipo de retorno

DAGDependencia

dagdependency_to_dag

qiskit.converters.dagdependency_to_dag(dagdependency)

GitHub

Construir un objeto DAGCircuit a partir de un DAGDependency.

Parámetros

dagdependency (DAGDependency) – el dag de entrada.

Devuelve

el DAG que representa el circuito de entrada.

Tipo de retorno

Circuito DAG

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.