Skip to main content
IBM Quantum Platform

회로 변환기

qiskit.converters


QuantumCircuit -> 회로 부품

circuit_to_instruction

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

GitHub

QuantumCircuit.로부터 객체를 Instruction 생성합니다.

이 명령은 익명(명명된 양자 레지스터에 연결되지 않음)이므로 다른 회로에 삽입할 수 있습니다. 인스트럭션은 회로와 동일한 문자열 이름을 갖습니다.

매개변수

  • circuit (QuantumCircuit) – 입력 회로에 연결합니다.
  • parameter_map (dict) – 파라미터화된 회로의 경우, 회로의 파라미터에서 명령어에 사용할 파라미터로 매핑합니다. 없음인 경우 기존 회로 파라미터도 인스트럭션을 파라미터화합니다.
  • equivalence_library (EquivalenceLibrary) – 변환된 명령어가 등록될 선택적 등가 라이브러리.
  • label (str) – 선택 사항인 지침 레이블.

레이즈

QiskitError - 파라미터_맵이 회로와 호환되지 않는 경우

리턴

입력 회로의 동작에 해당하는 명령어입니다. 이 명령어를 분해하면 원래 회로를 구성하는 구성 요소가 산출됩니다.

리턴 유형

qiskit.circuit.Instruction

예제

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

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)

GitHub

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입니다.

리턴 유형

DAGCircuit

레이즈

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)

GitHub

DAGCircuit 에서 QuantumCircuit 객체를 빌드합니다.

DAGCircuit.to_circuit()이 내용은 다음 주소에서도 확인할 수 있습니다.

매개변수

  • dag (DAGCircuit) – 입력 DAG.
  • QuantumCircuitcopy_operations (bool) – 출력용으로 DAGCircuit 작업 객체들을 딥 카피합니다. 이 False 설정은 입력 DAGCircuit 이 더 이상 사용되지 않을 경우에만 설정해야 합니다. 출력 QuantumCircuit 의 연산들은 공유 인스턴스이며, 의 DAGCircuit 연산에 대한 변경 사항은 에 QuantumCircuit 반영되기 때문입니다(반대의 경우도 마찬가지입니다).

리턴

입력 지연을 나타내는 회로입니다.

리턴 유형

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)

GitHub

DAGDependency 에서 QuantumCircuit 객체를 빌드합니다.

매개변수

dagdependency (DAGDependency) – 입력 DAG.

리턴

입력 지연 종속성을 나타내는 회로입니다.

리턴 유형

QuantumCircuit

circuit_to_dagdependency

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

GitHub

에서 DAGDependency 객체를 빌드합니다 QuantumCircuit.

매개변수

  • circuit (QuantumCircuit) – 입력 회로에 연결합니다.
  • create_preds_and_succs (bool) – 모든 노드에 대해 전임자 및 후임자 목록을 구성할지 여부를 설정합니다.

리턴

입력 회로를 DAG 종속성으로 나타내는 DAG입니다.

리턴 유형

DAG 의존성


DagCircuit <-> DagDependency

dag_to_dagdependency

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

GitHub

DAGCircuit 에서 DAGDependency 객체를 빌드합니다.

매개변수

  • dag (DAGCircuit) – 입력 DAG.
  • create_preds_and_succs (bool) – 모든 노드에 대해 전임자 및 후임자 목록을 구성할지 여부를 설정합니다.

리턴

입력 회로를 DAG 종속성으로 나타내는 DAG입니다.

리턴 유형

DAG 의존성

dagdependency_to_dag

qiskit.converters.dagdependency_to_dag(dagdependency)

GitHub

DAGDependency 에서 DAGCircuit 객체를 빌드합니다.

매개변수

dagdependency (DAGDependency) – 입력 DAG.

리턴

입력 회로를 나타내는 DAG입니다.

리턴 유형

DAGCircuit

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.