Select operation
Fully qualified name: Microsoft.Quantum.Unstable.TableLookup.Select
operation Select(data : Bool[][], address : Qubit[], target : Qubit[]) : Unit is Adj + Ctl
Summary
Performs table lookup using a SELECT network
Description
Assuming a zero-initialized target
register, this operation will
initialize it with the bitstrings in data
at indices according to the
computational values of the address
register.
Input
data
The classical table lookup data which is prepared in target
with
respect to the state in address
. The length of data must be less than
2ⁿ, where 𝑛 is the length of address
. Each entry in data must have
the same length that must be equal to the length of target
.
address
Address register
target
Zero-initialized target register
Remarks
The implementation of the SELECT network is based on unary encoding as presented in [1]. The recursive implementation of that algorithm is presented in [3]. The adjoint variant is optimized using a measurement-based unlookup operation [3]. The controlled adjoint variant is not optimized using this technique.
References
- arXiv:1805.03662 "Encoding Electronic Spectra in Quantum Circuits with Linear T Complexity"
- arXiv:1905.07682 "Windowed arithmetic"
- arXiv:2211.01133 "Space-time optimized table lookup"