Freigeben über


ApplyPauliFromBitString-Vorgang

Vollqualifizierter Name: Std.Canon.ApplyPauliFromBitString

operation ApplyPauliFromBitString(pauli : Pauli, bitApply : Bool, bits : Bool[], qubits : Qubit[]) : Unit is Adj + Ctl

Zusammenfassung

Wendet einen Pauli-Operator auf jedem Qubit in einem Array an, wenn das entsprechende Bit eines booleschen Arrays einer bestimmten Eingabe entspricht.

Eingabe

Pauli

Pauli-Operator gilt für qubits[idx], bei denen bitApply == bits[idx]

bitAnwenden

Pauli anwenden, wenn Bit dieser Wert ist

Bits

Boolesches Register, das angibt, welches entsprechende Qubit in qubits betrieben werden soll

Qubits

Quantenregister, auf das der angegebene Pauli-Operator selektiv angewendet werden soll

Bemerkungen

Das boolesche Array und das Quantenregister müssen gleich lang sein.

Beispiel

Im Folgenden wird ein X-Vorgang auf Qubits 0 und 2 sowie ein Z-Vorgang auf Qubits 1 und 3 angewendet.

use qubits = Qubit[4];
let bits = [true, false, true, false];
// Apply when index in `bits` is `true`.
ApplyPauliFromBitString(PauliX, true, bits, qubits);
// Apply when index in `bits` is `false`.
ApplyPauliFromBitString(PauliZ, false, bits, qubits);