Delen via


ApplyPauliFromBitString-bewerking

Volledig gekwalificeerde naam: Std.Canon.ApplyPauliFromBitString

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

Samenvatting

Hiermee past u een Pauli-operator toe op elke qubit in een matrix als de bijbehorende bit van een Booleaanse matrix overeenkomt met een bepaalde invoer.

Invoer

Pauli

Pauli-operator die moet worden toegepast op qubits[idx] waar bitApply == bits[idx]

bitApply

Pauli toepassen als bit deze waarde is

bits

Booleaanse registratie die aangeeft op welke corresponderende qubit in qubits moet worden uitgevoerd

qubits

Kwantumregister waarop de opgegeven Pauli-operator selectief moet worden toegepast

Opmerkingen

De Booleaanse matrix en het kwantumregister moeten even lang zijn.

Voorbeeld

Hieronder wordt een X-bewerking toegepast op qubits 0 en 2 en een Z-bewerking op qubits 1 en 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);