完全修飾名: Std.TableLookup.Select
operation Select(data : Bool[][], address : Qubit[], target : Qubit[]) : Unit is Adj + Ctl
概要
SELECT ネットワークを使用してテーブル参照を実行します
説明
ゼロ初期化 target レジスタを想定すると、この操作では、data レジスタの計算値に従って、インデックスの address のビット文字列を使用して初期化されます。
インプット
データ
targetの状態に関して address で準備された古典的なテーブル参照データ。 データの長さは 2ⁿ 未満にする必要があります。n は addressの長さです。 データ内の各エントリの長さは、targetの長さと同じである必要があります。
住所
アドレス レジスタ
目標
ゼロ初期化ターゲット レジスタ
注釈
SELECT ネットワークの実装は、[1] で示されている単項エンコードに基づいています。 そのアルゴリズムの再帰的な実装は[3]に示されています。 隣接するバリアントは、測定ベースの検索解除操作 [3] を使用して最適化されます。 制御された隣接バリアントは、この手法を使用して最適化されていません。
関連情報
- arXiv:1805.03662 "線形T複素数を持つ量子回路における電子スペクトルのエンコード"
- arXiv:1905.07682 "ウィンドウ算術"
- arXiv:2211.01133 「時空間最適化テーブル検索」