회로 변환기
qiskit.converters
QuantumCircuit -> 회로 부품
circuit_to_instruction
qiskit.converters.circuit_to_instruction(circuit, parameter_map=None, equivalence_library=None, label=None)
QuantumCircuit.로부터 객체를 Instruction 생성합니다.
이 명령은 익명(명명된 양자 레지스터에 연결되지 않음)이므로 다른 회로에 삽입할 수 있습니다. 인스트럭션은 회로와 동일한 문자열 이름을 갖습니다.
매개변수
- circuit (QuantumCircuit) – 입력 회로에 연결합니다.
- parameter_map (dict) – 파라미터화된 회로의 경우, 회로의 파라미터에서 명령어에 사용할 파라미터로 매핑합니다. 없음인 경우 기존 회로 파라미터도 인스트럭션을 파라미터화합니다.
- equivalence_library (EquivalenceLibrary) – 변환된 명령어가 등록될 선택적 등가 라이브러리.
- label (str) – 선택 사항인 지침 레이블.
레이즈
QiskitError - 파라미터_맵이 회로와 호환되지 않는 경우
리턴
입력 회로의 동작에 해당하는 명령어입니다. 이 명령어를 분해하면 원래 회로를 구성하는 구성 요소가 산출됩니다.
리턴 유형
예제
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)
QuantumCircuit.로부터 객체를 Gate 생성합니다.
이 게이트는 익명(명명된 양자 레지스터에 연결되지 않음)이므로 다른 회로에 삽입할 수 있습니다. 게이트는 회로와 동일한 문자열 이름을 갖습니다.
매개변수
- circuit (QuantumCircuit) – 입력 회로에 연결합니다.
- parameter_map (dict) – 파라미터화된 회로의 경우, 회로의 파라미터에서 게이트에 사용할 파라미터로 매핑합니다. 없음으로 설정하면 기존 회로 파라미터도 게이트에 파라미터화됩니다.
- equivalence_library (EquivalenceLibrary) – 변환된 게이트가 등록될 선택적 등가 라이브러리.
- label (str) – 게이트 라벨(옵션).
레이즈
QiskitError - 회로가 비단일형이거나 파라미터_map이 회로와 호환되지 않는 경우
리턴
입력 회로의 동작에 해당하는 게이트입니다. 분해되면 이 게이트는 원래 회로를 구성하는 구성 요소를 산출합니다.
리턴 유형
QuantumCircuit <-> DagCircuit
circuit_to_dag
qiskit.converters.circuit_to_dag(circuit, copy_operations=True, *, qubit_order=None, clbit_order=None)
QuantumCircuit.로부터 객체를 DAGCircuit 생성합니다.
이것은 또한. QuantumCircuit.to_dag()로 접근할 수 있습니다.
매개변수
- circuit (QuantumCircuit) – 입력 회로에 연결합니다.
DAGCircuitcopy_operations (bool) – 출력용으로QuantumCircuit작업 객체들을 딥 카피합니다. 이False설정은 입력QuantumCircuit이 더 이상 사용되지 않을 경우에만 설정해야 합니다. 출력DAGCircuit의 연산들은 공유 인스턴스이며, 의DAGCircuit연산에 대한 변경 사항은 에QuantumCircuit반영되기 때문입니다(반대의 경우도 마찬가지입니다).- qubit_order (Iterable[Qubit] or None) – 출력 DAG에서 큐비트를 인덱싱해야 하는 순서를 지정합니다. 기본값은 회로와 동일한 순서로 설정됩니다.
- clbit_order (Iterable[Clbit] or None) – 출력 DAG에서 클릿이 인덱싱되어야 하는 순서를 지정합니다. 기본값은 회로와 동일한 순서로 설정됩니다.
리턴
입력 회로를 나타내는 DAG입니다.
리턴 유형
레이즈
ValueError - qubit_order 또는 clbit_order 파라미터가 회로의 비트와 일치하지 않는 경우.
예제
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)
DAGCircuit 에서 QuantumCircuit 객체를 빌드합니다.
DAGCircuit.to_circuit()이 내용은 다음 주소에서도 확인할 수 있습니다.
매개변수
- dag (DAGCircuit) – 입력 DAG.
QuantumCircuitcopy_operations (bool) – 출력용으로DAGCircuit작업 객체들을 딥 카피합니다. 이False설정은 입력DAGCircuit이 더 이상 사용되지 않을 경우에만 설정해야 합니다. 출력QuantumCircuit의 연산들은 공유 인스턴스이며, 의DAGCircuit연산에 대한 변경 사항은 에QuantumCircuit반영되기 때문입니다(반대의 경우도 마찬가지입니다).
리턴
입력 지연을 나타내는 회로입니다.
리턴 유형
예제
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)
DAGDependency 에서 QuantumCircuit 객체를 빌드합니다.
매개변수
dagdependency (DAGDependency) – 입력 DAG.
리턴
입력 지연 종속성을 나타내는 회로입니다.
리턴 유형
circuit_to_dagdependency
qiskit.converters.circuit_to_dagdependency(circuit, create_preds_and_succs=True)
에서 DAGDependency 객체를 빌드합니다 QuantumCircuit.
매개변수
- circuit (QuantumCircuit) – 입력 회로에 연결합니다.
- create_preds_and_succs (bool) – 모든 노드에 대해 전임자 및 후임자 목록을 구성할지 여부를 설정합니다.
리턴
입력 회로를 DAG 종속성으로 나타내는 DAG입니다.
리턴 유형
DagCircuit <-> DagDependency
dag_to_dagdependency
qiskit.converters.dag_to_dagdependency(dag, create_preds_and_succs=True)
DAGCircuit 에서 DAGDependency 객체를 빌드합니다.
매개변수
- dag (DAGCircuit) – 입력 DAG.
- create_preds_and_succs (bool) – 모든 노드에 대해 전임자 및 후임자 목록을 구성할지 여부를 설정합니다.
리턴
입력 회로를 DAG 종속성으로 나타내는 DAG입니다.
리턴 유형
dagdependency_to_dag
qiskit.converters.dagdependency_to_dag(dagdependency)
DAGDependency 에서 DAGCircuit 객체를 빌드합니다.
매개변수
dagdependency (DAGDependency) – 입력 DAG.
리턴
입력 회로를 나타내는 DAG입니다.
리턴 유형