Calcular gradientes con OpenQASM 3.0 - Amazon Braket

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 permite calcular gradientes en simuladores locales y bajo demanda en modoshots=0 (exacto) mediante el método de diferenciación adjunta. Puede proporcionar el pragma adecuado para especificar el gradiente que desea calcular, tal 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 de forma individual, también puedeall especificarlos en el pragma. Esto calcula el gradiente con respecto a todos losinput parámetros listados. Esto puede resultar práctico cuando el número de parámetros es muy grande. En este caso, el pragma tendrá un aspecto semejante al de este 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 ySum. El operador que desee utilizar para calcular el gradiente debe estar incluido en elexpectation() encapsulador y se deben especificar los cúbits sobre los que actúa cada término.