Aracılığıyla paylaş


İşlemi seçme

Tam ad: Std.TableLookup.Select

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

Özet

SELECT ağı kullanarak tablo araması gerçekleştirir

Açıklama

Sıfır başlatılan bir target yazmaç kabul edilirse, bu işlem data yazmaç hesaplama değerlerine göre dizinlerde address bitstrings ile başlatır.

Girdi

veriler

targetdurumuyla ilgili olarak address içinde hazırlanan klasik tablo arama verileri. Verilerin uzunluğu 2ⁿ'den küçük olmalıdır; burada n, addressuzunluğudur. Verilerdeki her girişin, targetuzunluğuna eşit olması gereken uzunluğu aynı olmalıdır.

adres

Adres kaydı

hedef

Sıfır başlatılan hedef yazmaç

Açıklamalar

SELECT ağının uygulanması[1] içinde gösterildiği gibi birli kodlamayı temel alır. Bu algoritmanın özyinelemeli uygulaması [3] içinde sunulur. Bitişik değişken, [3] ölçüm tabanlı bir unlookup işlemi kullanılarak iyileştirilmiştir. Denetimli bitişiklik değişkeni bu teknik kullanılarak iyileştirilmemiştir.

Kaynaklar

  1. arXiv:1805.03662 "Doğrusal T Karmaşıklığı ile Kuantum Devrelerinde Elektronik Spectra Kodlama"
  2. arXiv:1905.07682 "Pencereli aritmetik"
  3. arXiv:2211.01133 "Zaman için iyileştirilmiş tablo arama"