ApplyPermutationUsingDecompositionWithVariableOrder-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
Permutiert die Amplituden in einem Quantenzustand bei einer Permutation mithilfe einer auf der Zerlegung basierenden Synthese.
operation ApplyPermutationUsingDecompositionWithVariableOrder (perm : Int[], variableOrder : Int[], qubits : Microsoft.Quantum.Arithmetic.LittleEndian) : Unit is Adj + Ctl
BESCHREIBUNG
Dieser Vorgang ist eine allgemeinere Version des ApplyPermutationUsingDecomposition-Vorgangs , in dem die Variablenreihenfolge angegeben werden kann. Eine andere Variablenreihenfolge ändert die Analysesequenz und die Wahrheitstabellen, die für die gesteuerten X-Vorgangsgates verwendet werden. Daher ändert das Ändern der Variablenreihenfolge die Anzahl der Gesamtgates, die verwendet werden, um die Permutation zu realisieren.
Eingabe
perm : Int[]
Eine Permutation von $2^n$-Elementen ab 0.
variableOrder : Int[]
Eine Permutation von $n$-Elementen ab 0.
Qubits : LittleEndian
Eine Liste von $n$-Qubits, auf die die Permutation angewendet wird.
Ausgabe: Einheit
Beispiel
So synthetisieren Sie einen SWAP
Vorgang:
using (qubits = Qubit[2]) {
ApplyPermutationUsingDecompositionWithVariableOrder([0, 2, 1, 3], [1, 0], LittleEndian(qubits));
}