Compartilhar via


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);