Sdílet prostřednictvím


Výběr operace

Plně kvalifikovaný název: Std.TableLookup.Select

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

Shrnutí

Provádí vyhledávání tabulek pomocí sítě SELECT.

Popis

Za předpokladu, že se target inicializuje nula, tato operace ji inicializuje pomocí bitstringů v data v indexech podle výpočetních hodnot registru address.

Vstup

údaje

Klasická vyhledávací data tabulky, která jsou připravena v target s ohledem na stav v address. Délka dat musí být menší než 2ⁿ, kde n je délka address. Každá položka v datech musí mít stejnou délku, která musí být rovna délce target.

adresa

Registr adres

cíl

Cílovou registraci s nulovou inicializovanou hodnotou

Poznámky

Implementace sítě SELECT je založena na unárním kódování, jak je uvedeno v [1]. Rekurzivní implementace tohoto algoritmu je uvedena v [3]. Doplňková varianta je optimalizovaná pomocí operace svyhledat založeného na měření [3]. Řízená adjoint varianta není optimalizovaná pomocí této techniky.

Odkazy

  1. arXiv:1805.03662 "Kódování elektronického spectra v kvantových obvodech s lineární složitostí T"
  2. arXiv:1905.07682 "Windowed aritmetic"
  3. arXiv:2211.01133 vyhledávání tabulky optimalizované pro čas