OpenQASM 3.0 による勾配の計算 - Amazon Braket

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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()、カプセル化器でラップし、各用語が作用する量子ビットを指定する必要があります。