회로 변환기
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) – 매개변수화된 회로의 경우, 회로 내의 매개변수와 명령어에서 사용될 매개변수 간의 대응 관계. None인 경우, 기존 회로 매개변수도 해당 명령어에 적용됩니다.
- 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) – 매개변수화된 회로의 경우, 회로 내의 매개변수를 게이트에서 사용될 매개변수로 매핑하는 것. None인 경우, 기존 회로 매개변수도 게이트에 적용됩니다.
- 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) – 입력 회로에 연결합니다.
- copy_operations (bool) – 출력용
QuantumCircuit내의 작업 객체들은 딥 복사하고DAGCircuit, 메타데이터는 얕은 복사합니다. 이 설정은 입력 이 더 이상 사용되지QuantumCircuit않을False경우에만 설정해야 합니다. 출력 의 연산들은 공유 인스턴스이며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.
- copy_operations (bool) – 출력용으로
DAGCircuit작업 객체들을 딥 카피하고QuantumCircuit, 메타데이터는 얕은 카피를 수행합니다. 이 설정은 입력 이 더 이상 사용되지DAGCircuit않을False경우에만 설정해야 합니다. 출력 의 연산들은 공유 인스턴스이며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입니다.
리턴 유형