Skip to main content
IBM Quantum Platform

Conversores de circuito

qiskit.converters


QuantumCircuit -> componentes do circuito

circuit_to_instruction

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

GitHub

Criar um Instruction a partir de um objeto QuantumCircuit.

A instrução é anônima (não está vinculada a um registro quântico nomeado) e, portanto, pode ser inserida em outro circuito. A instrução terá o mesmo nome de cadeia de caracteres que o circuito.

Parâmetros

  • circuit (QuantumCircuit) – o circuito de entrada.
  • parameter_map (dict) – Para circuitos parametrizados, um mapeamento de parâmetros no circuito para parâmetros a serem usados na instrução. Se for Nenhum, os parâmetros de circuito existentes também parametrizarão a instrução.
  • equivalence_library (EquivalenceLibrary) – Biblioteca de equivalência opcional onde a instrução convertida será registrada.
  • label (str) – Etiqueta de instruções opcional.

Aumentos

QiskitError - se o parâmetro_map não for compatível com o circuito

Retorna

uma instrução equivalente à ação do circuito de entrada. Após a decomposição, essa instrução produzirá os componentes que compõem o circuito original.

Tipo de retorno

qiskit.circuit.Instruction

Exemplo

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 um Gate a partir de um objeto QuantumCircuit.

A porta é anônima (não está vinculada a um registro quântico nomeado) e, portanto, pode ser inserida em outro circuito. O portão terá o mesmo nome de cadeia de caracteres que o circuito.

Parâmetros

  • circuit (QuantumCircuit) – o circuito de entrada.
  • parameter_map (dict) – Para circuitos parametrizados, um mapeamento de parâmetros no circuito para parâmetros a serem usados no gate. Se for None (Nenhum), os parâmetros de circuito existentes também parametrizarão a porta.
  • equivalence_library (EquivalenceLibrary) – Biblioteca de equivalência opcional onde a porta convertida será registrada.
  • label (str) – Etiqueta de portão opcional.

Aumentos

QiskitError - se o circuito não for unitário ou se o parameter_map não for compatível com o circuito

Retorna

um Gate equivalente à ação do circuito de entrada. Após a decomposição, essa porta produzirá os componentes que compõem o circuito original.

Tipo de retorno

Entrada


QuantumCircuit <-> DagCircuit

circuit_to_dag

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

GitHub

Construir um DAGCircuit a partir de um objeto QuantumCircuit.

Isso também está disponível como QuantumCircuit.to_dag().

Parâmetros

  • circuit (QuantumCircuit) – o circuito de entrada.
  • copy_operations (bool) – Copiar profundamente os objetos de operação no QuantumCircuit para a saída DAGCircuit. Isso só deve ser definido como False se a entrada QuantumCircuit não será mais usada, pois as operações na saída DAGCircuit serão instâncias compartilhadas e as modificações nas operações do DAGCircuit serão refletidas no QuantumCircuit (e vice-versa).
  • qubit_order (Iterable[Qubit] or None) – a ordem em que os qubits devem ser indexados no DAG de saída. O padrão é a mesma ordem do circuito.
  • clbit_order (Iterable[Clbit] or None) – a ordem em que os clbits devem ser indexados no DAG de saída. O padrão é a mesma ordem do circuito.

Retorna

o DAG que representa o circuito de entrada.

Tipo de retorno

DAGCircuit

Aumentos

ValueError - se os parâmetros qubit_order ou clbit_order não corresponderem aos bits do circuito.

Exemplo

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

Crie um objeto QuantumCircuit a partir de um DAGCircuit.

Isso também está disponível como DAGCircuit.to_circuit().

Parâmetros

Retorna

o circuito que representa a entrada dag.

Tipo de retorno

QuantumCircuit

Exemplo

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 de circuito gerado pelo código anterior.

QuantumCircuit <-> DagDependency

dagdependency_to_circuit

qiskit.converters.dagdependency_to_circuit(dagdependency)

GitHub

Crie um objeto QuantumCircuit a partir de um DAGDependency.

Parâmetros

dagdependency (DAGDependency) – a entrada dag.

Retorna

o circuito que representa a dependência de entrada dag.

Tipo de retorno

QuantumCircuit

circuit_to_dagdependency

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

GitHub

Crie um objeto DAGDependency a partir de um arquivo QuantumCircuit.

Parâmetros

  • circuit (QuantumCircuit) – o circuito de entrada.
  • create_preds_and_succs (bool) – se deve construir listas de predecessores e sucessores para cada nó.

Retorna

o DAG que representa o circuito de entrada como uma dependência do DAG.

Tipo de retorno

DAGDependência


DagCircuit <-> DagDependency

dag_to_dagdependency

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

GitHub

Crie um objeto DAGDependency a partir de um DAGCircuit.

Parâmetros

  • dag (DAGCircuit) – a entrada dag.
  • create_preds_and_succs (bool) – se deve construir listas de predecessores e sucessores para cada nó.

Retorna

o DAG que representa o circuito de entrada como uma dependência do DAG.

Tipo de retorno

DAGDependência

dagdependency_to_dag

qiskit.converters.dagdependency_to_dag(dagdependency)

GitHub

Crie um objeto DAGCircuit a partir de um DAGDependency.

Parâmetros

dagdependency (DAGDependency) – a entrada dag.

Retorna

o DAG que representa o circuito de entrada.

Tipo de retorno

DAGCircuit

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.