Operação ApplyPauliFromBitString
Nome totalmente qualificado: Std.Canon.ApplyPauliFromBitString
operation ApplyPauliFromBitString(pauli : Pauli, bitApply : Bool, bits : Bool[], qubits : Qubit[]) : Unit is Adj + Ctl
Resumo
Aplica um operador Pauli em cada qubit em uma matriz se o bit correspondente de uma matriz booliana corresponder a uma determinada entrada.
Entrada
Pauli
Operador Pauli para aplicar a qubits[idx]
em que bitApply == bits[idx]
bitApply
aplicar Pauli se bit for esse valor
Bits
Registro booliano especificando em qual qubit correspondente qubits
deve ser operado
qubits
Registro quântico no qual aplicar seletivamente o operador Pauli especificado
Observações
A matriz booliana e o registro quântico devem ter o mesmo comprimento.
Exemplo
A seguir, aplica-se uma operação X nos qubits 0 e 2 e uma operação Z nos qubits 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);