다음을 통해 공유


양자별 데이터 형식

이 항목에서는 양자 도메인에 다소 특정한 두 가지 다른 형식인 PauliResult함께 Qubit 형식에 대해 설명합니다.

Qubit

Q# 큐비트를 함수와 연산 모두에 전달할 수 있는 불투명 항목으로 처리하지만 대상 양자 프로세서에 네이티브인 명령에 전달해야만 상호 작용할 수 있습니다. 이러한 지침은 양자 상태를 수정하려는 의도이므로 항상 연산 형식으로 정의됩니다. 큐비트를 입력 인수로 전달할 수 있음에도 불구하고 함수가 양자 상태를 수정할 수 없다는 제한은 함수가 다른 함수만 호출할 수 있고 작업을 호출할 수 없도록 요구함으로써 적용됩니다.

Q# 라이브러리는 기본 작업의 표준 집합에 대해 컴파일됩니다. 즉, 언어 내에서 구현에 대한 정의가 없는 작업을 의미합니다. 대상 지정 시 실행 대상에 네이티브인 지침에 따라 이를 표현하는 구현은 컴파일러에 의해 연결됩니다. 따라서 Q# 프로그램은 대상 컴퓨터에서 정의한 대로 이러한 작업을 결합하여 양자 계산을 표현하는 새로운 상위 수준 연산을 만듭니다. 이러한 방식으로 Q# 대상 컴퓨터의 구조 및 양자 상태의 실현과 관련하여 매우 일반적이면서 논리 기본 양자 및 하이브리드 양자-클래식 알고리즘을 매우 쉽게 표현할 수 있습니다.

Q# 자체 내에는 양자 상태를 나타내는 형식이나 구문이 Q# 없습니다. 대신 큐비트는 양자 컴퓨터에서 주소 지정 가능한 가장 작은 물리적 단위를 나타냅니다. 따라서 큐비트는 수명이 긴 항목이므로 Q# 선형 형식이 필요하지 않습니다. 따라서 Q#내의 상태를 명시적으로 참조하는 것이 아니라 XH같은 작업을 적용하여 프로그램을 통해 상태를 변환하는 방법을 설명합니다. 그래픽 셰이더 프로그램이 각 꼭짓점으로 변환에 대한 설명을 누적하는 방식과 마찬가지로, Q# 양자 프로그램은 대상 컴퓨터의 내부 구조에 대한 완전히 불투명한 참조로 표현되는 양자 상태로 변환을 누적합니다.

Q# 프로그램은 큐비트의 상태를 내성할 수 없으므로 양자 상태가 무엇인지 또는 어떻게 실현되는지에 대해 완전히 독립적입니다. 대신 프로그램은 Measure 같은 작업을 호출하여 계산의 양자 상태에 대한 정보를 학습할 수 있습니다.

파울리

Pauli 형식의 값은 단일 큐비트 Pauli 연산자를 지정합니다. 가능성은 PauliI, PauliX, PauliYPauliZ. Pauli 값은 주로 양자 측정의 기초를 지정하는 데 사용됩니다.

결과

Result 형식은 양자 측정 결과를 지정합니다. Q# 단일 큐비트 Pauli 연산자의 제품에 측정값을 제공하여 대부분의 양자 하드웨어를 미러링합니다. ZeroResult +1 고유값이 측정되었음을 나타내고 OneResult -1 고유값이 측정되었음을 나타냅니다. 즉, Q# -1 발생 하는 힘에 의해 고유 값을 나타냅니다. 이 규칙은 클래식 비트에 더 밀접하게 매핑되므로 양자 알고리즘 커뮤니티에서 더 일반적입니다.