Amazon Braket のパルス制御 - Amazon Braket

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

Amazon Braket のパルス制御

パルスは、量子コンピュータの量子ビットを制御するアナログ信号です。Amazon Braket の特定のデバイスでは、パルス制御機能にアクセスして、パルスを使用して回路を送信できます。Braket SDK、OpenQASM 3.0、または Braket APIs から直接パルス制御にアクセスできます。まず、Braket でのパルス制御の主要な概念をいくつか紹介します。

[フレーム]

フレームは、量子プログラム内のクロックとフェーズの両方として機能するソフトウェア抽象化です。クロック時間は、使用ごとに増分され、周波数によって定義されるステートフルキャリア信号が増分されます。量子ビットに信号を送信する場合、フレームは量子ビットのキャリア周波数、フェーズオフセット、および波形エンベロープが放出される時間を決定します。Braket Pulse では、フレームの構築はデバイス、頻度、フェーズによって異なります。デバイスに応じて、事前定義されたフレームを選択するか、ポートを指定して新しいフレームをインスタンス化できます。

from braket.pulse import Frame # predefined frame from a device device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2") drive_frame = device.frames["Transmon_5_charge_tx_frame"] # create a custom frame readout_frame = Frame(name="r0_measure", port=port0, frequency=5e9, phase=0)

ポート

ポートは、量子ビットを制御する入出力ハードウェアコンポーネントを表すソフトウェア抽象化です。これにより、ハードウェアベンダーは、ユーザーが操作して量子ビットを観察できるインターフェイスを提供できます。ポートは、コネクタの名前を表す単一の文字列によって特徴付けられます。この文字列は、波形をどの程度細かく定義できるかを指定する最小時間増分も公開します。

from braket.pulse import Port Port0 = Port("channel_0", dt=1e-9)

波形

波形は、出力ポートで信号を発したり、入力ポートを介して信号をキャプチャしたりするために使用できる時間依存のエンベロープです。波形は、複雑な数値のリストを通じて直接指定することも、波形テンプレートを使用してハードウェアプロバイダーからリストを生成することもできます。

from braket.pulse import ArbitraryWaveform, ConstantWaveform cst_wfm = ConstantWaveform(length=1e-7, iq=0.1) arb_wf = ArbitraryWaveform(amplitudes=np.linspace(0, 100))

Braket Pulse は、一定の波形、ガウシアン波形、およびダイアバティックゲート (DRAG) 波形による派生除去を含む波形の標準ライブラリを提供します。次の例に示すように、 sample関数を使用して波形データを取得し、波形の形状を描画できます。

gaussian_waveform = GaussianWaveform(1e-7, 25e-9, 0.1) x = np.arange(0, gaussian_waveform.length, drive_frame.port.dt) plt.plot(x, gaussian_waveform.sample(drive_frame.port.dt))
経時的な振幅を示すグラフ: ZaE = True (下曲線) と ZaE = False (上曲線)。曲線の鐘の形は、振幅が 0.10 a. u. で、約 0.5 秒ピークに達します。

上の画像は、 から作成されたガウシアン波形を示していますGaussianWaveform。パルス長は 100 ns、幅は 25 ns、振幅は 0.1 (任意の単位) を選択しました。波形はパルスウィンドウを中心としています。 はブール引数 zero_at_edges (凡例の ZaE) GaussianWaveformを受け入れます。に設定するとTrue、この引数は t=0 とlength t= のポイントがゼロになるようにガウシアン波形をオフセットし、最大値がamplitude引数に対応するように振幅を再スケーリングします。

パルスレベルアクセスの基本概念を学習したので、次にゲートとパルスを使用して回路を構築する方法を見ていきます。