Share via


AssertOperationsEqualReferenced 작업

경고

이 설명서는 최신 QDK로 대체된 클래식 QDK를 참조합니다.

최신 QDK에 대한 API 설명서는 를 참조 https://aka.ms/qdk.api 하세요.

네임스페이스: Microsoft.Quantum.Diagnostics

패키지: Microsoft.Quantum.Type2.Core

두 작업이 지정된 경우 는 모든 입력 상태에 대해 동일하게 작동한다고 어설션합니다.

이 어설션은 최자미오코프스키 등형성을 사용하여 어설션을 얽힌 두 레지스터의 큐비트 상태 어설션 중 하나로 줄여 구현됩니다. 따라서 이 작업은 테스트 중인 각 작업에 대한 단일 호출만 필요하지만 할당하려면 두 배의 큐비트가 필요합니다. 이 어설션은 instance 최적화된 버전의 작업이 순진한 구현과 동일하게 작동하거나 다양한 비퀀텀 입력에서 작동하는 작업이 알려진 사례에 동의하도록 하는 데 사용할 수 있습니다.

operation AssertOperationsEqualReferenced (nQubits : Int, actual : (Qubit[] => Unit), expected : (Qubit[] => Unit is Adj)) : Unit

입력

nQubits: Int

각 작업에 전달할 큐비트 수입니다.

actual : Qubit[] =>Unit

테스트할 작업입니다.

예상 : Qubit[] =>Unit is Adj

테스트 중인 작업에 대해 예상되는 동작을 정의하는 작업입니다.

출력: 단위

설명

이 작업을 수행하려면 예상 동작을 모델링하는 작업을 연결할 수 있어야 하므로 대상 레지스터에서만 역을 수행할 수 있습니다. 공식적으로는 이 요구 사항을 완화하는 트랜스포즈 연산을 지정할 수 있지만, 트랜스포지션 연산은 임의 양자 연산에 대해 일반적으로 물리적으로 실현할 수 없으므로 여기에 옵션으로 포함되지 않습니다.