OpenQASM 3.0으로 노이즈를 시뮬레이션하십시오. - Amazon Braket

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

OpenQASM 3.0으로 노이즈를 시뮬레이션하십시오.

OpenQASM3로 노이즈를 시뮬레이션하려면 pragma 명령어를 사용하여 노이즈 연산자를 추가합니다. 예를 들어, 이전에 제공된 GHZ 프로그램의 잡음이 많은 버전을 시뮬레이션하려면 다음 OpenQASM 프로그램을 제출할 수 있습니다.

// ghz.qasm // Prepare a GHZ state OPENQASM 3; qubit[3] q; bit[3] c; h q[0]; #pragma braket noise depolarizing(0.75) q[0] cnot q[0], q[1]; #pragma braket noise depolarizing(0.75) q[0] #pragma braket noise depolarizing(0.75) q[1] cnot q[1], q[2]; #pragma braket noise depolarizing(0.75) q[0] #pragma braket noise depolarizing(0.75) q[1] c = measure q;

지원되는 모든 프라그마 노이즈 연산자의 사양은 다음 목록에 나와 있습니다.

#pragma braket noise bit_flip(<float in [0,1/2]>) <qubit> #pragma braket noise phase_flip(<float in [0,1/2]>) <qubit> #pragma braket noise pauli_channel(<float>, <float>, <float>) <qubit> #pragma braket noise depolarizing(<float in [0,3/4]>) <qubit> #pragma braket noise two_qubit_depolarizing(<float in [0,15/16]>) <qubit>, <qubit> #pragma braket noise two_qubit_dephasing(<float in [0,3/4]>) <qubit>, <qubit> #pragma braket noise amplitude_damping(<float in [0,1]>) <qubit> #pragma braket noise generalized_amplitude_damping(<float in [0,1]> <float in [0,1]>) <qubit> #pragma braket noise phase_damping(<float in [0,1]>) <qubit> #pragma braket noise kraus([[<complex m0_00>, ], ...], [[<complex m1_00>, ], ...], ...) <qubit>[, <qubit>] // maximum of 2 qubits and maximum of 4 matrices for 1 qubit, 16 for 2

크라우스 오퍼레이터

크라우스 연산자를 생성하려면 행렬 목록을 반복하여 행렬의 각 요소를 복잡한 표현식으로 인쇄할 수 있습니다.

Kraus 연산자를 사용할 때는 다음 사항을 기억하십시오.

  • 개수는 qubits 2를 초과할 수 없습니다. 스키마의 현재 정의는 이 제한을 설정합니다.

  • 인수 목록의 길이는 8의 배수여야 합니다. 즉, 2x2 행렬로만 구성되어야 합니다.

  • 총 길이는 2*num_qubits 행렬 2개를 초과할 수 없습니다. 즉, 1에는 행렬 4개, 2에는 16개 행렬이 있습니다. qubit qubits

  • 제공된 모든 행렬은 완전 양성 추적 보존 (CPTP) 입니다.

  • 전치 공액을 포함한 크라우스 연산자의 곱을 더하면 단위 행렬이 될 수 있습니다.