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.