翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
OpenQASM 3.0 による勾配の計算
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
個々の演算子、テンソル製品、ヘルミット観測物、 など、すべての観測可能なタイプがサポートされていますSum
。勾配の計算に使用する演算子はexpectation()
、カプセル化器でラップし、各用語が作用する量子ビットを指定する必要があります。