PeakUsageGreedyQubitManager 클래스

컴퓨팅 및 메모리 큐비트를 별도로 추적하는 큐비트 관리자입니다.

각 큐비트 유형에 대한 두 개의 독립적인 큐비트 관리자로 구성됩니다. 각 관리자는 .에서 cirq.GreedyQubitManager욕심 할당 전략을 사용합니다.

해제된 후 한 형식의 큐비트는 다른 형식의 큐비트로 다시 사용할 수 없습니다. 따라서 피크 큐비트 수는 각 형식에 대한 피크 큐비트 수의 합계와 같습니다.

PeakUsageGreedyQubitManager를 초기화합니다.

생성자

PeakUsageGreedyQubitManager(prefix: str, *, size: int, maximize_reuse: bool)

매개 변수

Name Description
prefix
필수

할당된 큐비트의 이름 지정 접두사입니다.

size
필수

에 전달된 cirq.GreedyQubitManager초기 풀 크기입니다. 예: 0.

maximize_reuse
필수

큐비트 재사용 전략을 제어하는 플래그입니다. 이 모드에서 FIFO(First in First in First out) 전략을 사용하는 경우 False다음으로 할당된 큐비트는 가장 일찍 해제된 큐비트입니다. 이 모드에서 LIFO(Last in First out) 전략 s.t를 사용하는 경우 True다음으로 할당된 큐비트는 최신 해제된 큐비트입니다.

키워드 전용 매개 변수

Name Description
size
필수
maximize_reuse
필수

메서드

compute_qubit_count

동시에 사용 중인 COMPUTE 큐비트의 최대 수를 반환합니다.

current_in_use

현재 사용 중인 큐비트 수입니다.

memory_qubit_count

사용 중인 메모리 큐비트의 최대 수를 반환합니다.

qalloc

큐비트를 할당 n 하고 사용 카운터를 업데이트합니다.

qborrow

큐비트를 대여합니다(지원되지 않음).

qfree

지정된 큐비트를 해제합니다.

qubit_count

모든 형식의 최대 큐비트 수를 반환합니다.

한 형식의 큐비트를 다른 형식의 큐비트로 다시 사용할 수 없으므로 각 형식의 최대 수 합계와 같습니다.

compute_qubit_count

동시에 사용 중인 COMPUTE 큐비트의 최대 수를 반환합니다.

compute_qubit_count() -> int

current_in_use

현재 사용 중인 큐비트 수입니다.

current_in_use() -> int

memory_qubit_count

사용 중인 메모리 큐비트의 최대 수를 반환합니다.

memory_qubit_count() -> int

qalloc

큐비트를 할당 n 하고 사용 카운터를 업데이트합니다.

qalloc(n: int, dim: int, qubit_type: QubitType = QubitType.COMPUTE) -> list[cirq.ops.raw_types.Qid]

매개 변수

Name Description
n
필수

할당할 큐비트 수입니다.

dim
필수

각 큐비트의 차원입니다. 예: 큐비트의 경우 2입니다.

qubit_type

큐비트 유형(COMPUTE 또는 MEMORY)입니다.

Default value: QubitType.COMPUTE

반품

형식 Description

할당된 큐비트 목록입니다.

qborrow

큐비트를 대여합니다(지원되지 않음).

qborrow(n: int, dim: int = 2) -> list[cirq.ops.raw_types.Qid]

매개 변수

Name Description
n
필수
dim
Default value: 2

qfree

지정된 큐비트를 해제합니다.

qfree(qubits: Iterable[Qid]) -> None

매개 변수

Name Description
qubits
필수

qubit_count

모든 형식의 최대 큐비트 수를 반환합니다.

한 형식의 큐비트를 다른 형식의 큐비트로 다시 사용할 수 없으므로 각 형식의 최대 수 합계와 같습니다.

qubit_count() -> int