Sdílet prostřednictvím


Operace ApplyPauliFromBitString

Plně kvalifikovaný název: Std.Canon.ApplyPauliFromBitString

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

Shrnutí

Použije operátor Pauli u každého qubitu v poli, pokud odpovídající bit logického pole odpovídá danému vstupu.

Vstup

Pauli

Pauli operátor, který se použije na qubits[idx], kde bitApply == bits[idx]

Funkce bitApply

Použít Pauli, pokud bit je tato hodnota

bity

Logický registr určující, na kterém qubitu v qubits by se měl provozovat

qubity

Kvantový registr, u kterého selektivně použít zadaný operátor Pauli

Poznámky

Logická matice a kvantový registr musí mít stejnou délku.

Příklad

V následujícím příkladu platí operace X u qubitů 0 a 2 a operace Z na qubitech 1 a 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);