¡Aprenda los fundamentos de la computación cuántica con! AWS Inscríbase en el plan de aprendizaje digital 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 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.