PeakUsageGreedyQubitManager Clase

Un administrador de cúbits que realiza el seguimiento de los cúbits de proceso y memoria por separado.

Consta de dos administradores de cúbits independientes para cada tipo de cúbit. Cada administrador usa una estrategia de asignación expansa de cirq.GreedyQubitManager.

Los cúbits de un tipo, después de liberarse, no se pueden reutilizar como cúbits de tipo diferente. Por lo tanto, el recuento de cúbits máximos es igual a la suma de los recuentos de cúbits máximos para cada tipo.

Inicialice peakUsageGreedyQubitManager.

Constructor

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

Parámetros

Nombre Description
prefix
Requerido

Asignar un prefijo para cúbits asignados.

size
Requerido

Tamaño inicial del grupo pasado a cirq.GreedyQubitManager. Ejemplo: 0.

maximize_reuse
Requerido

Marca para controlar la estrategia de reutilización de cúbits. Si Falsees , este modo usa una estrategia fiFO (primero en la primera salida) s.t. siguiente cúbit asignado es una que se liberó lo primero. Si Truees , este modo usa una estrategia LIFO (Last in First out) s.t. el siguiente cúbit asignado es uno que se liberó más reciente.

Parámetros de palabra clave únicamente

Nombre Description
size
Requerido
maximize_reuse
Requerido

Métodos

compute_qubit_count

Devuelve el número máximo de cúbits COMPUTE de uso simultáneo.

current_in_use

Número de cúbits actualmente en uso.

memory_qubit_count

Devuelve el número máximo de cúbits MEMORY simultáneamente en uso.

qalloc

Asigne n cúbits y actualice los contadores de uso.

qborrow

Préstamo de cúbits (no compatible).

qfree

Libere los cúbits especificados.

qubit_count

Devuelve el número máximo de cúbits de todos los tipos.

Es igual a la suma de los recuentos máximos de cada tipo, ya que los cúbits de un tipo no se pueden reutilizar como cúbits de un tipo diferente.

compute_qubit_count

Devuelve el número máximo de cúbits COMPUTE de uso simultáneo.

compute_qubit_count() -> int

current_in_use

Número de cúbits actualmente en uso.

current_in_use() -> int

memory_qubit_count

Devuelve el número máximo de cúbits MEMORY simultáneamente en uso.

memory_qubit_count() -> int

qalloc

Asigne n cúbits y actualice los contadores de uso.

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

Parámetros

Nombre Description
n
Requerido

Número de cúbits que se van a asignar.

dim
Requerido

Dimensión de cada cúbit. Ejemplo: 2 para cúbits.

qubit_type

Tipo de cúbits (COMPUTE o MEMORY).

Valor predeterminado: QubitType.COMPUTE

Devoluciones

Tipo Description

Lista de cúbits asignados.

qborrow

Préstamo de cúbits (no compatible).

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

Parámetros

Nombre Description
n
Requerido
dim
Valor predeterminado: 2

qfree

Libere los cúbits especificados.

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

Parámetros

Nombre Description
qubits
Requerido

qubit_count

Devuelve el número máximo de cúbits de todos los tipos.

Es igual a la suma de los recuentos máximos de cada tipo, ya que los cúbits de un tipo no se pueden reutilizar como cúbits de un tipo diferente.

qubit_count() -> int