다음을 통해 공유


ApplyPauliFromBitString 작업

정규화된 이름: Std.Canon.ApplyPauliFromBitString

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

요약

부울 배열의 해당 비트가 지정된 입력과 일치하는 경우 배열의 각 큐비트에 Pauli 연산자를 적용합니다.

입력

파울리

qubits[idx] bitApply == bits[idx] 적용할 Pauli 연산자

비트어플라이드

bit가 이 값인 경우 Pauli 적용

비트

qubits 작동해야 하는 해당 큐비트를 지정하는 부울 레지스터

큐비트

지정된 Pauli 연산자를 선택적으로 적용할 양자 레지스터

발언

부울 배열과 양자 레지스터는 길이가 같아야 합니다.

본보기

다음은 큐비트 0과 2에 X 연산을 적용하고 큐비트 1과 3에서 Z 연산을 적용합니다.

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);