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 cirq.GreedyQubitManager. Beispiel: 0.

maximize_reuse
Erforderlich

Kennzeichnen, um die Qubit-Wiederverwendungsstrategie zu steuern. Wenn Falsedieser Modus eine FIFO-Strategie (First in First Out) verwendet, ist das nächste zugewiesene Qubit eine, die frühesten freigegeben wurde. Wenn Truedieser Modus eine LIFO-Strategie (Last in First Out) verwendet, ist das nächste zugewiesene Qubit eine, die die neueste freigegeben wurde.

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 n die Verwendungsindikatoren.

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