PeakUsageGreedyQubitManager Classe

Um gerenciador de qubits que acompanha a computação e os qubits de memória separadamente.

Ele consiste em dois gerentes de qubit independentes para cada tipo de qubit. Cada gerente usa a estratégia de alocação greedy de cirq.GreedyQubitManager.

Qubits de um tipo, após liberados, não podem ser reutilizados como qubits de tipo diferente. Portanto, a contagem de qubits de pico é igual à soma de contagens de qubit de pico para cada tipo.

Inicialize o PeakUsageGreedyQubitManager.

Construtor

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

Parâmetros

Nome Description
prefix
Obrigatório

Prefixo de nomenclatura para qubits alocados.

size
Obrigatório

Tamanho inicial do pool passado para cirq.GreedyQubitManager. Exemplo: 0.

maximize_reuse
Obrigatório

Sinalizar para controlar a estratégia de reutilização do qubit. Se False, esse modo usa uma estratégia FIFO (First in First out) s.t. Next allocated qubit é um que foi liberado mais cedo. Se True, esse modo usa uma estratégia LIFO (Last in First out) s.t. O qubit alocado seguinte é aquele que foi liberado o mais recente.

Parâmetros somente de palavra-chave

Nome Description
size
Obrigatório
maximize_reuse
Obrigatório

Métodos

compute_qubit_count

Retorna o número máximo de qubits COMPUTE simultaneamente em uso.

current_in_use

Número de qubits atualmente em uso.

memory_qubit_count

Retorna o número máximo de qubits MEMORY simultaneamente em uso.

qalloc

n Aloque qubits e atualize os contadores de uso.

qborrow

Qubits emprestados (sem suporte).

qfree

Libere os qubits determinados.

qubit_count

Retorna o número máximo de qubits de todos os tipos.

É igual à soma de contagens de pico para cada tipo, pois qubits de um tipo não podem ser reutilizados como qubits de um tipo diferente.

compute_qubit_count

Retorna o número máximo de qubits COMPUTE simultaneamente em uso.

compute_qubit_count() -> int

current_in_use

Número de qubits atualmente em uso.

current_in_use() -> int

memory_qubit_count

Retorna o número máximo de qubits MEMORY simultaneamente em uso.

memory_qubit_count() -> int

qalloc

n Aloque qubits e atualize os contadores de uso.

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

Parâmetros

Nome Description
n
Obrigatório

Número de qubits a serem alocados.

dim
Obrigatório

Dimensão de cada qubit. Exemplo: 2 para qubits.

qubit_type

Tipo de qubits (COMPUTE ou MEMORY).

Valor padrão: QubitType.COMPUTE

Retornos

Tipo Description

Lista de qubits alocados.

qborrow

Qubits emprestados (sem suporte).

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

Parâmetros

Nome Description
n
Obrigatório
dim
Valor padrão: 2

qfree

Libere os qubits determinados.

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

Parâmetros

Nome Description
qubits
Obrigatório

qubit_count

Retorna o número máximo de qubits de todos os tipos.

É igual à soma de contagens de pico para cada tipo, pois qubits de um tipo não podem ser reutilizados como qubits de um tipo diferente.

qubit_count() -> int