Partilhar via


Selecionar operação

Nome totalmente qualificado: Std.TableLookup.Select

operation Select(data : Bool[][], address : Qubit[], target : Qubit[]) : Unit is Adj + Ctl

Resumo

Executa a pesquisa de tabela usando uma rede SELECT

Descrição

Supondo um registro de target inicializado com zero, esta operação irá inicializá-lo com as cadeias de bits em data em índices de acordo com os valores computacionais do registro de address.

Entrada

dados

A tabela clássica de dados de pesquisa que é preparada em target em relação ao estado em address. O comprimento dos dados deve ser inferior a 2ⁿ, em que n é o comprimento de address. Cada entrada de dados deve ter o mesmo comprimento que deve ser igual ao comprimento de target.

Endereço

Registo de endereços

destino

Registro de destino inicializado zero

Observações

A implementação da rede SELECT baseia-se na codificação unária, tal como apresentada em [1]. A implementação recursiva desse algoritmo é apresentada em [3]. A variante adjunta é otimizada usando uma operação de pesquisa baseada em medição [3]. A variante adjunta controlada não é otimizada usando esta técnica.

Referências

  1. arXiv:1805.03662 "Codificação de Espectros Eletrónicos em Circuitos Quânticos com Complexidade Linear T"
  2. arXiv:1905.07682 "Aritmética em janela"
  3. arXiv:2211.01133 "Pesquisa de tabela otimizada no espaço-tempo"