本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Open 3.0 计算梯度 QASM
Amazon Braket 支持使用伴随微分法在shots=0
(精确)模式下在按需模拟器和本地模拟器上计算梯度。您可以提供适当的编译指示来指定要计算的梯度,如以下示例所示。
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
您不必单独列出所有参数,还可以在编译指示all
中指定。这将计算与列出的所有input
参数相关的梯度。当参数数量非常多时,这可能很方便。在这种情况下,编译指示将类似于以下示例。
#pragma braket result adjoint_gradient h(q[0]) @ i(q[1]) all
支持所有可观测类型,包括单个运算符、张量积、Hermitian 可观测值和。Sum
要用来计算梯度的运算符必须封装在expectation()
封装器中,并且必须指定每个项作用的量子比特。