ApplyPauliFromBitString-bewerking
Volledig gekwalificeerde naam: Std.Canon.ApplyPauliFromBitString
operation ApplyPauliFromBitString(pauli : Pauli, bitApply : Bool, bits : Bool[], qubits : Qubit[]) : Unit is Adj + Ctl
Samenvatting
Hiermee past u een Pauli-operator toe op elke qubit in een matrix als de bijbehorende bit van een Booleaanse matrix overeenkomt met een bepaalde invoer.
Invoer
Pauli
Pauli-operator die moet worden toegepast op qubits[idx]
waar bitApply == bits[idx]
bitApply
Pauli toepassen als bit deze waarde is
bits
Booleaanse registratie die aangeeft op welke corresponderende qubit in qubits
moet worden uitgevoerd
qubits
Kwantumregister waarop de opgegeven Pauli-operator selectief moet worden toegepast
Opmerkingen
De Booleaanse matrix en het kwantumregister moeten even lang zijn.
Voorbeeld
Hieronder wordt een X-bewerking toegepast op qubits 0 en 2 en een Z-bewerking op qubits 1 en 3.
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);