PeakUsageGreedyQubitManager 클래스
컴퓨팅 및 메모리 큐비트를 별도로 추적하는 큐비트 관리자입니다.
각 큐비트 유형에 대한 두 개의 독립적인 큐비트 관리자로 구성됩니다. 각 관리자는 .에서 cirq.GreedyQubitManager욕심 할당 전략을 사용합니다.
해제된 후 한 형식의 큐비트는 다른 형식의 큐비트로 다시 사용할 수 없습니다. 따라서 피크 큐비트 수는 각 형식에 대한 피크 큐비트 수의 합계와 같습니다.
PeakUsageGreedyQubitManager를 초기화합니다.
생성자
PeakUsageGreedyQubitManager(prefix: str, *, size: int, maximize_reuse: bool)
매개 변수
| Name | Description |
|---|---|
|
prefix
필수
|
할당된 큐비트의 이름 지정 접두사입니다. |
|
size
필수
|
에 전달된 |
|
maximize_reuse
필수
|
큐비트 재사용 전략을 제어하는 플래그입니다. 이 모드에서 FIFO(First in First in First out) 전략을 사용하는 경우 |
키워드 전용 매개 변수
| Name | Description |
|---|---|
|
size
필수
|
|
|
maximize_reuse
필수
|
|
메서드
| compute_qubit_count |
동시에 사용 중인 COMPUTE 큐비트의 최대 수를 반환합니다. |
| current_in_use |
현재 사용 중인 큐비트 수입니다. |
| memory_qubit_count |
사용 중인 메모리 큐비트의 최대 수를 반환합니다. |
| qalloc |
큐비트를 할당 |
| 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