PeakUsageGreedyQubitManager Klasse
Ein Qubit-Manager, der Compute- und Speicher-Qubits separat nachverfolgt.
Es besteht aus zwei unabhängigen Qubit-Managern für jeden Qubit-Typ. Jeder Manager verwendet eine gierige Zuordnungsstrategie von cirq.GreedyQubitManager.
Qubits eines Typs können nach dem Freigeben nicht als Qubits unterschiedlicher Art wiederverwendet werden. Daher ist die Spitzen-Qubitanzahl gleich der Summe der Spitzen-Qubit-Anzahl für jeden Typ.
Initialisieren Sie den PeakUsageGreedyQubitManager.
Konstruktor
PeakUsageGreedyQubitManager(prefix: str, *, size: int, maximize_reuse: bool)
Parameter
| Name | Beschreibung |
|---|---|
|
prefix
Erforderlich
|
Benennungspräfix für zugewiesene Qubits. |
|
size
Erforderlich
|
Die anfängliche Poolgröße wurde an |
|
maximize_reuse
Erforderlich
|
Kennzeichnen, um die Qubit-Wiederverwendungsstrategie zu steuern. Wenn |
Nur Schlüsselwortparameter
| Name | Beschreibung |
|---|---|
|
size
Erforderlich
|
|
|
maximize_reuse
Erforderlich
|
|
Methoden
| compute_qubit_count |
Gibt die Höchstzahl gleichzeitig verwendeter COMPUTE-Qubits zurück. |
| current_in_use |
Anzahl der aktuell verwendeten Qubits. |
| memory_qubit_count |
Gibt die Höchstzahl gleichzeitig verwendeter MEMORY-Qubits zurück. |
| qalloc |
Weisen Sie Qubits zu, und aktualisieren Sie |
| qborrow |
Leihen Sie Qubits (nicht unterstützt). |
| qfree |
Geben Sie die gegebenen Qubits frei. |
| qubit_count |
Gibt die Höchstzahl der Qubits aller Typen zurück. Es entspricht der Summe der Spitzenanzahl für jeden Typ, da Qubits eines Typs nicht als Qubits eines anderen Typs wiederverwendet werden können. |
compute_qubit_count
Gibt die Höchstzahl gleichzeitig verwendeter COMPUTE-Qubits zurück.
compute_qubit_count() -> int
current_in_use
Anzahl der aktuell verwendeten Qubits.
current_in_use() -> int
memory_qubit_count
Gibt die Höchstzahl gleichzeitig verwendeter MEMORY-Qubits zurück.
memory_qubit_count() -> int
qalloc
Weisen Sie Qubits zu, und aktualisieren Sie n die Verwendungsindikatoren.
qalloc(n: int, dim: int, qubit_type: QubitType = QubitType.COMPUTE) -> list[cirq.ops.raw_types.Qid]
Parameter
| Name | Beschreibung |
|---|---|
|
n
Erforderlich
|
Anzahl der zuzuordnenden Qubits. |
|
dim
Erforderlich
|
Dimension der einzelnen Qubits. Beispiel: 2 für Qubits. |
|
qubit_type
|
Typ von Qubits (COMPUTE oder MEMORY). Standardwert: QubitType.COMPUTE
|
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Liste der zugewiesenen Qubits. |
qborrow
Leihen Sie Qubits (nicht unterstützt).
qborrow(n: int, dim: int = 2) -> list[cirq.ops.raw_types.Qid]
Parameter
| Name | Beschreibung |
|---|---|
|
n
Erforderlich
|
|
|
dim
|
Standardwert: 2
|
qfree
Geben Sie die gegebenen Qubits frei.
qfree(qubits: Iterable[Qid]) -> None
Parameter
| Name | Beschreibung |
|---|---|
|
qubits
Erforderlich
|
|
qubit_count
Gibt die Höchstzahl der Qubits aller Typen zurück.
Es entspricht der Summe der Spitzenanzahl für jeden Typ, da Qubits eines Typs nicht als Qubits eines anderen Typs wiederverwendet werden können.
qubit_count() -> int