Simule el ruido con OpenQASM 3.0 - Amazon Braket

¡Aprenda los fundamentos de la computación cuántica con! AWS Inscríbase en el plan de aprendizaje digital Amazon Braket y obtenga su propia insignia digital tras completar una serie de cursos de aprendizaje y una evaluación digital.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Simule el ruido con OpenQASM 3.0

Para simular el ruido con OpenQASM3, utilice instrucciones pragmáticas para añadir operadores de ruido. Por ejemplo, para simular la versión ruidosa del programa GHZ proporcionada anteriormente, puede enviar el siguiente programa 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;

Las especificaciones de todos los operadores de ruido pragmático compatibles se proporcionan en la siguiente lista.

#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

Operador Kraus

Para generar un operador de Kraus, puede recorrer en iteración una lista de matrices, imprimiendo cada elemento de la matriz como una expresión compleja.

Cuando utilice los operadores de Kraus, recuerde lo siguiente:

  • El número de no qubits debe ser superior a 2. La definición actual de los esquemas establece este límite.

  • La longitud de la lista de argumentos debe ser un múltiplo de 8. Esto significa que debe estar compuesta únicamente por matrices de 2x2.

  • La longitud total no supera las 2 matrices de 2*num_qubits. Esto significa 4 matrices para 1 y 16 para 2qubit. qubits

  • Todas las matrices suministradas tienen un sistema de conservación de trazas completamente positivo (CPTP).

  • El producto de los operadores de Kraus con sus conjugados de transposición debe sumarse a una matriz de identidad.