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)
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
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)
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
QuantumCircuit <-> DagCircuit
circuit_to_dag
qiskit.converters.circuit_to_dag(circuit, copy_operations=True, *, qubit_order=None, clbit_order=None)
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
QuantumCircuitpara a saídaDAGCircuit. Isso só deve ser definido comoFalsese a entradaQuantumCircuitnão será mais usada, pois as operações na saídaDAGCircuitserão instâncias compartilhadas e as modificações nas operações doDAGCircuitserão refletidas noQuantumCircuit(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
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)
Crie um objeto QuantumCircuit a partir de um DAGCircuit.
Isso também está disponível como DAGCircuit.to_circuit().
Parâmetros
- dag (DAGCircuit) – a entrada dag.
- copy_operations (bool) – Copiar profundamente os objetos de operação no
DAGCircuitpara a saídaQuantumCircuit. Isso só deve ser definido comoFalsese a entradaDAGCircuitnão será mais usada, pois as operações na saídaQuantumCircuitserão instâncias compartilhadas e as modificações nas operações doDAGCircuitserão refletidas noQuantumCircuit(e vice-versa).
Retorna
o circuito que representa a entrada dag.
Tipo de retorno
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')
QuantumCircuit <-> DagDependency
dagdependency_to_circuit
qiskit.converters.dagdependency_to_circuit(dagdependency)
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
circuit_to_dagdependency
qiskit.converters.circuit_to_dagdependency(circuit, create_preds_and_succs=True)
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
DagCircuit <-> DagDependency
dag_to_dagdependency
qiskit.converters.dag_to_dagdependency(dag, create_preds_and_succs=True)
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
dagdependency_to_dag
qiskit.converters.dagdependency_to_dag(dagdependency)
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