Share via


MultiplexOperationsBruteForceFromGenerator-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.Canon

Paket: Microsoft.Quantum.Standard

Wendet den multiplizierten unitären Vorgang $U$ an, der einen unitären $V_j$ anwendet, wenn der n-Qubit-Zahlenzustand $\ket{j}$ gesteuert wird.

$U = \sum^{N-1}_{j=0}\ket{j}\bra{j}\otimes V_j$.

operation MultiplexOperationsBruteForceFromGenerator<'T> (unitaryGenerator : (Int, (Int -> ('T => Unit is Adj + Ctl))), index : Microsoft.Quantum.Arithmetic.LittleEndian, target : 'T) : Unit is Adj + Ctl

Eingabe

unitaryGenerator : (Int,Int -> 'T =>Unit is Adj + Ctl)

Ein Tupel, bei dem das erste Element Int die Anzahl der Unitärdateien $N$ und das zweite Element (Int -> ('T => () is Adj + Ctl)) eine Funktion ist, die eine ganze Zahl $j$ in $[0,N-1]$ akzeptiert und den unitären Vorgang $V_j$ ausgibt.

index : LittleEndian

$n$-qubit-Steuerelementregister, das die Zahlenzustände $\ket{j}$ im Little-Endian-Format codiert.

Target : 'T

Generisches Qubitregister, auf das $V_j$ reagiert.

Ausgabe: Einheit

Typparameter

'T

Hinweise

coefficients wird mit Identitätselementen aufgefüllt, wenn weniger als $2^n$ angegeben sind. Diese Version wird direkt durch Schleife über n-kontrollierte unitäre Operatoren implementiert.