Skip to main content
IBM Quantum Platform

변환

qiskit_addon_cutting.utils.transforms

양자 회로 조작을 위한 기능입니다.

separate_circuit

separate_circuit(circuit, partition_labels=None)

GitHub

회로를 분리된 구성 요소로 분리합니다.

partition_labels 이 제공되면 해당 레이블에 따라 회로가 분리됩니다. None 의 파티션 레이블은 특별히 취급됩니다. 사용하지 않는(유휴) 큐비트에 적용해야 하며, 회로를 분리할 때 해당 큐비트는 제거됩니다.

partition_labelsNone 인 경우 회로는 완전히 분리된 구성 요소로 분리되며, 각 구성 요소는 0으로 시작하는 연속 정수로 레이블이 지정됩니다. 결과 회로에서 각 유휴 와이어가 제거됩니다.

>>> qc = QuantumCircuit(4)
>>> _ = qc.x(0)
>>> _ = qc.cx(1, 2)
>>> separate_circuit(qc, "ABBA").subcircuits.keys()
dict_keys(['A', 'B'])
>>> separate_circuit(qc, "ABBA").qubit_map
[('A', 0), ('B', 0), ('B', 1), ('A', 1)]
>>> separate_circuit(qc, ["A", "B", "B", None]).qubit_map
[('A', 0), ('B', 0), ('B', 1), (None, None)]
>>> separate_circuit(qc).subcircuits.keys()
dict_keys([0, 1])
>>> separate_circuit(qc).qubit_map
[(0, 0), (1, 0), (1, 1), (None, None)]
>>> separate_circuit(qc, "BAAC").subcircuits.keys()
dict_keys(['B', 'A', 'C'])
>>> separate_circuit(qc, "BAAC").qubit_map
[('B', 0), ('A', 0), ('A', 1), ('C', 0)]

매개변수

  • circuit (QuantumCircuit) – 분리된 하위 회로로 분리할 회로
  • partition_labels (Sequence[Hashable] | None) – 길이의 시퀀스 num_qubits. 동일한 레이블을 가진 큐비트는 동일한 하위 회로에 속하게 됩니다.

리턴 유형

SeparatedCircuits

리턴

A SeparatedCircuitssubcircuitsqubit_map 을 포함하는 네임드 튜플입니다.

레이즈

  • ValueError - 파티션 레이블의 수가 입력 회로의 큐비트 수와 같지 않습니다.
  • ValueError - 작업은 둘 이상의 파티션에 걸쳐 이루어집니다.

SeparatedCircuits

class SeparatedCircuits(subcircuits, qubit_map)

GitHub

베이스: NamedTuple

결과의 튜플로 명명된 separate_circuit().

subcircuits 는 각 파티션 레이블로 키가 지정된 회로의 딕셔너리입니다. qubit_map 는 원래 회로의 큐비트 수와 같은 길이의 목록입니다. 이 목록의 각 요소는 해당 큐비트의 파티션 레이블과 해당 서브 회로에 있는 해당 큐비트의 인덱스가 포함된 2-튜플입니다. 원래 큐비트가 사용되지 않고 분리된 회로에서 제거된 경우, 해당 튜플은 (None, None) 과 같습니다.

SeparatedCircuits(subcircuits, qubit_map의 새 인스턴스 생성)

매개변수

  • subcircuits (dict[Hashable, QuantumCircuit])
  • qubit_map (list[tuple[Hashable, int] | tuple[None, None]])

count

count(value, /)

값의 발생 횟수를 반환합니다.

index

index(value, start=0, stop=9223372036854775807, /)

첫 번째 값 인덱스를 반환합니다.

값이 없으면 ValueError 을 반환합니다.

qubit_map

유형: list[tuple[Hashable, int] | tuple[None, None]]

필드 번호 1의 별칭

subcircuits

유형: dict[Hashable, QuantumCircuit]

필드 번호 0의 별칭

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