변환
qiskit_addon_cutting.utils.transforms
양자 회로 조작을 위한 기능입니다.
separate_circuit
separate_circuit(circuit, partition_labels=None)
회로를 분리된 구성 요소로 분리합니다.
partition_labels 이 제공되면 해당 레이블에 따라 회로가 분리됩니다. None 의 파티션 레이블은 특별히 취급됩니다. 사용하지 않는(유휴) 큐비트에 적용해야 하며, 회로를 분리할 때 해당 큐비트는 제거됩니다.
partition_labels 이 None 인 경우 회로는 완전히 분리된 구성 요소로 분리되며, 각 구성 요소는 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 SeparatedCircuitssubcircuits 및 qubit_map 을 포함하는 네임드 튜플입니다.
레이즈
- ValueError - 파티션 레이블의 수가 입력 회로의 큐비트 수와 같지 않습니다.
- ValueError - 작업은 둘 이상의 파티션에 걸쳐 이루어집니다.
SeparatedCircuits
class SeparatedCircuits(subcircuits, qubit_map)
베이스: 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의 별칭