Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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);