Berechnung von Gradienten mit Open 3.0 QASM - Amazon Braket

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Berechnung von Gradienten mit Open 3.0 QASM

Amazon Braket unterstützt die Berechnung von Gradienten sowohl auf On-Demand-Simulatoren als auch auf lokalen Simulatoren im shots=0 (exakten) Modus unter Verwendung der Methode der adjungierten Differenzierung. Sie können das entsprechende Pragma angeben, um den Gradienten anzugeben, den Sie berechnen möchten, wie im folgenden Beispiel gezeigt.

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

Anstatt alle Parameter einzeln aufzulisten, können Sie sie auch all im Pragma angeben. Dadurch wird der Gradient in Bezug auf alle aufgelisteten input Parameter berechnet. Dies kann praktisch sein, wenn die Anzahl der Parameter sehr groß ist. In diesem Fall sieht das Pragma wie das folgende Beispiel aus.

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

Alle beobachtbaren Typen werden unterstützt, einschließlich einzelner Operatoren, Tensorprodukte, hermiteschen Observablen und. Sum Der Operator, den Sie zur Berechnung des Gradienten verwenden möchten, muss in den expectation() Kapselungsgenerator eingeschlossen werden, und die Qubits, auf die jeder Term einwirkt, müssen angegeben werden.