Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W pełni kwalifikowana nazwa: Std.TableLookup.Select
operation Select(data : Bool[][], address : Qubit[], target : Qubit[]) : Unit is Adj + Ctl
Podsumowanie
Wykonuje wyszukiwanie tabel przy użyciu sieci SELECT
Opis
Przy założeniu, że rejestr target zainicjowany bez zera, ta operacja zainicjuje ją za pomocą ciągów bitowych w data indeksów zgodnie z wartościami obliczeniowymi rejestru address.
Dane wejściowe
dane
Klasyczne dane odnośników tabeli, które są przygotowywane w target w odniesieniu do stanu w address. Długość danych musi być mniejsza niż 2ⁿ, gdzie n to długość address. Każdy wpis w danych musi mieć taką samą długość, która musi być równa długości target.
adres
Rejestr adresów
cel
Rejestr docelowy zainicjowany zero
Uwagi
Implementacja sieci SELECT jest oparta na kodowaniu jednoargumentowym, jak pokazano w [1]. Rekursywna implementacja tego algorytmu jest przedstawiona w [3]. Wariant przylegania jest zoptymalizowany przy użyciu operacji unlookup opartej na pomiarach [3]. Kontrolowany wariant przylegania nie jest zoptymalizowany przy użyciu tej techniki.
Źródła
- arXiv:1805.03662 "Kodowanie elektronicznej spectry w obwodach kwantowych z złożonością liniową T"
- arXiv:1905.07682 "Arytmetyka okienna"
- arXiv:2211.01133 "Wyszukiwanie tabeli zoptymalizowanej pod kątem czasu kosmicznego"