PeakUsageGreedyQubitManager 類別
一個量子位元管理器,分別追蹤計算量子位元與記憶體量子位元。
它由兩個獨立的量子位元管理器組成,對應每種量子位元類型。 每位管理者都使用來自 cirq.GreedyQubitManager的貪婪配置策略。
一種類型的量子位元在被釋放後,無法再作為不同類型的量子位元重複使用。 因此,峰值量子位元數等於每種類型峰值量子位數的總和。
初始化 PeakUsageGreedyQubit Manager。
建構函式
PeakUsageGreedyQubitManager(prefix: str, *, size: int, maximize_reuse: bool)
參數
| 名稱 | Description |
|---|---|
|
prefix
必要
|
分配量子位元的命名前綴。 |
|
size
必要
|
初始池大小通過到 |
|
maximize_reuse
必要
|
標記控制量子位元重用策略。 若 |
僅限關鍵字的參數
| 名稱 | Description |
|---|---|
|
size
必要
|
|
|
maximize_reuse
必要
|
|
方法
| compute_qubit_count |
回傳同時使用的 COMPUTE 量子位元峰值數量。 |
| current_in_use |
目前使用的量子位元數量。 |
| memory_qubit_count |
回傳同時使用的 MEMORY 量子位元峰值數量。 |
| qalloc |
|
| qborrow |
借用量子位元(不支援)。 |
| qfree |
釋放給定的量子位元。 |
| qubit_count |
回傳所有類型量子位元的峰值數量。 它等於每種類型的峰值計數總和,因為同一類型的量子位不能重複用作不同類型的量子位元。 |
compute_qubit_count
回傳同時使用的 COMPUTE 量子位元峰值數量。
compute_qubit_count() -> int
current_in_use
目前使用的量子位元數量。
current_in_use() -> int
memory_qubit_count
回傳同時使用的 MEMORY 量子位元峰值數量。
memory_qubit_count() -> int
qalloc
n分配量子位元並更新使用計數器。
qalloc(n: int, dim: int, qubit_type: QubitType = QubitType.COMPUTE) -> list[cirq.ops.raw_types.Qid]
參數
| 名稱 | Description |
|---|---|
|
n
必要
|
分配量子位元數量。 |
|
dim
必要
|
每個量子位元的維度。 範例:量子位元為 2。 |
|
qubit_type
|
量子位元類型(COMPUTE 或 MEMORY)。 預設值: QubitType.COMPUTE
|
傳回
| 類型 | Description |
|---|---|
|
分配量子位元列表。 |
qborrow
借用量子位元(不支援)。
qborrow(n: int, dim: int = 2) -> list[cirq.ops.raw_types.Qid]
參數
| 名稱 | Description |
|---|---|
|
n
必要
|
|
|
dim
|
預設值: 2
|
qfree
釋放給定的量子位元。
qfree(qubits: Iterable[Qid]) -> None
參數
| 名稱 | Description |
|---|---|
|
qubits
必要
|
|
qubit_count
回傳所有類型量子位元的峰值數量。
它等於每種類型的峰值計數總和,因為同一類型的量子位不能重複用作不同類型的量子位元。
qubit_count() -> int