Partilhar 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 booleana corresponder a uma determinada entrada.

Entrada

Pauli

Pauli operador para aplicar a qubits[idx] onde bitApply == bits[idx]

bitApply

aplicar Pauli se bit for este valor

bits

Registro booleano especificando qual qubit correspondente em qubits deve ser operado

Qubits

Registro quântico no qual aplicar seletivamente o operador Pauli especificado

Comentários

A matriz booleana e o registro quântico devem ter o mesmo comprimento.

Exemplo

O seguinte aplica uma operação X em qubits 0 e 2 e uma operação Z em 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);