Braket Pulse - Amazon Braket

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

Braket Pulse

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

[フレーム]

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

from braket.pulse import Frame device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3") drive_frame = device.frames["q0_rf_frame"] device = AwsDevice("arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet") 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 (上曲線) の 2 ZaE つのケースの経時的な振幅を示すグラフ。曲線のベルシェイプは約 0.5 秒で、振幅は 0.10 a. u です。

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

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