Compartir a través de


Operación ApplyPauliFromBitString

Nombre completo: Std.Canon.ApplyPauliFromBitString

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

Resumen

Aplica un operador Pauli en cada cúbit de una matriz si el bit correspondiente de una matriz booleana coincide con una entrada determinada.

Entrada

Pauli

Operador pauli que se va a aplicar a qubits[idx] donde bitApply == bits[idx]

bitAplicar

aplicar Pauli si bit es este valor

Bits

Registro booleano en el que se especifica qué cúbit correspondiente en qubits se debe operar en

cúbits

Registro cuántico en el que se va a aplicar selectivamente el operador Pauli especificado

Observaciones

La matriz booleana y el registro cuántico deben tener una longitud igual.

Ejemplo

A continuación se aplica una operación X en cúbits 0 y 2, y una operación Z en cúbits 1 y 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);