ApplyXControlledOnTruthTable-Vorgang
Warnung
Diese Dokumentation bezieht sich auf das klassische QDK, das durch das moderne QDK ersetzt wurde.
Weitere Informationen finden https://aka.ms/qdk.api Sie in der API-Dokumentation für das moderne QDK.
Namespace: Microsoft.Quantum.Synthesis
Paket: Microsoft.Quantum.Standard
Wendet den X-Vorgangsvorgang auf an target
, wenn die boolesche Funktion func
für die klassische Zuweisung in controlRegister
als true ausgewertet wird.
operation ApplyXControlledOnTruthTable (func : BigInt, controlRegister : Qubit[], target : Qubit) : Unit is Adj + Ctl
BESCHREIBUNG
Der Vorgang implementiert den unitären Vorgang \begin{align} U\ket{x}\ket{y} = \ket{x}\ket{y \oplus f(x)} \end{align}, wobei $x$ und $y$ jeweils und target
darstellencontrolRegister
.
Die boolesche Funktion $f$ wird als Wahrheitstabelle in Bezug auf eine große ganze Zahl dargestellt.
Beispielsweise wird die Mehrheitsfunktion auf drei Eingaben durch die Bitzeichenfolge 11101000
dargestellt, wobei das wichtigste Bit 1
der Eingabezuweisung (1, 1, 1)
entspricht und das am wenigsten signifikante Bit 0
der Eingabezuweisung (0, 0, 0)
entspricht.
Sie kann durch die große ganze Zahl 0xE8L
in hexadezimaler Notation oder als 232L
Dezimalschreibweise dargestellt werden. Das L
Suffix gibt an, dass die Konstante vom Typ BigInt
ist.
Weitere Details zu dieser Darstellung finden Sie auch in der Kata der Wahrheitstabellen.
Bei der Implementierung werden CNOT-Vorgänge und R1-Vorgangsgates verwendet.
Eingabe
func : BigInt
Boolesche Wahrheitstabelle als große ganze Zahl dargestellt
controlRegister : Qubit[]
Register der Steuerqubits
Target : Qubit
Zielqubit
Ausgabe : Einheit
Referenzen
- N. Schuch, J. Siewert, PRL 91, nr. 027902, 2003, arXiv:quant-ph/0303063
- Mathias Soeken, Martin Roetteler, arXiv:2005.12310