Calcular gradientes 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.

Calcular gradientes con OpenQASM 3.0

Amazon Braket admite el cálculo de gradientes en simuladores locales y bajo demanda en modo shots=0 (exacto) mediante el método de diferenciación adjunto. Puede proporcionar el pragma adecuado para especificar el gradiente que desea calcular, como se muestra en el siguiente ejemplo.

OPENQASM 3.0; input float alpha; bit[2] b; qubit[2] q; h q[0]; h q[1]; rx(alpha) q[0]; rx(alpha) q[1]; b[0] = measure q[0]; b[1] = measure q[1]; #pragma braket result adjoint_gradient h(q[0]) @ i(q[1]) alpha

En lugar de enumerar todos los parámetros individualmente, también puede especificarlos all en el pragma. Esto calcula el gradiente con respecto a todos los input parámetros listados. Esto puede resultar práctico cuando el número de parámetros es muy grande. En este caso, el pragma se verá como el siguiente ejemplo.

#pragma braket result adjoint_gradient h(q[0]) @ i(q[1]) all

Se admiten todos los tipos de observables, incluidos los operadores individuales, los productos tensoriales, los observables hermitianos y. Sum El operador que se quiere usar para calcular el gradiente debe estar incluido en el expectation() encapsulador y se deben especificar los qubits sobre los que actúa cada término.