Condividi tramite


Operazione ApplyPauliFromBitString

Nome completo: Std.Canon.ApplyPauliFromBitString

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

Sommario

Applica un operatore Pauli in ogni qubit in una matrice se il bit corrispondente di una matrice booleana corrisponde a un determinato input.

Immissione

Pauli

Operatore Pauli da applicare alle qubits[idx] in cui bitApply == bits[idx]

bitApply

applicare Pauli se bit è questo valore

Bit

Registro booleano che specifica quale qubit corrispondente in qubits deve essere gestito

qubit

Registro quantistico in cui applicare in modo selettivo l'operatore Pauli specificato

Osservazioni

La matrice booleana e il registro quantistico devono avere una lunghezza uguale.

Esempio

Di seguito viene applicata un'operazione X sui qubit 0 e 2 e un'operazione Z sui qubit 1 e 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);