Udostępnij przez


ApplyPauliFromBitString, operacja

W pełni kwalifikowana nazwa: Std.Canon.ApplyPauliFromBitString

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

Streszczenie

Stosuje operator Pauli na każdym kubitie w tablicy, jeśli odpowiedni bit tablicy logicznej pasuje do danych wejściowych.

Wkład

Pauli

Operator Pauli do zastosowania do qubits[idx] gdzie bitApply == bits[idx]

bitApply (Zastosuj bit)

zastosuj Pauli, jeśli bit jest tą wartością

Bitów

Rejestr logiczny określający, na którym qubits powinien działać odpowiedni kubit

kubity

Rejestr kwantowy, na którym ma być selektywnie stosowany określony operator Pauli

Uwagi

Tablica logiczna i rejestr kwantowy muszą mieć taką samą długość.

Przykład

Poniżej obowiązuje operacja X na kubitach 0 i 2 oraz operacja Z na kubitach 1 i 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);