Поделиться через


Операция ApplyPauliFromBitString

Полное имя: Std.Canon.ApplyPauliFromBitString

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

Сводка

Применяет оператор Pauli к каждому кубите в массиве, если соответствующий бит логического массива соответствует заданному входу.

Ввод

Паули

Оператор Pauli для применения к qubits[idx], где bitApply == bits[idx]

bitApply

применить Поли, если бит является этим значением

Биты

Логический регистр, указывающий соответствующий кубит в qubits должен работать с

кубиты

Квантовый регистр, к которому выборочно применяется указанный оператор Pauli

Замечания

Логический массив и квантовый регистр должны иметь одинаковую длину.

Пример

Ниже применяется операция X для кубитов 0 и 2, а также операция Z на кубитах 1 и 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);