本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Braket 上的脈波控制
脈衝是控制量子電腦中 qubit 的類比訊號。使用 Amazon Braket 上的特定裝置,您可以存取脈衝控制功能,以使用脈衝提交電路。您可以透過 Braket SDK、使用 OpenQASM 3.0 或直接透過 Braket 存取脈衝控制。 APIs首先,讓我們介紹一些有關 Braket 中脈衝控制的關鍵概念。
影格
框架是一種軟體抽象,可同時做為量子程式和階段中的時鐘。時鐘時間會在每次使用量和由頻率定義的具狀態電信業者訊號時遞增。將訊號傳輸到 qubit 時,影格會決定 qubit 的載波頻率、相位偏移,以及發出波形信封的時間。在 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)
連接埠
連接埠是一種軟體抽象,代表控制 qubit 的任何輸入/輸出硬體元件。它有助於硬體供應商提供使用者可以與之互動的界面,以操縱和觀察 qubit。連接埠的特徵是代表連接器名稱的單一字串。此字串也會公開最小時間增量,指定我們可以定義波形的精細程度。
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))
上圖描述從 建立的高斯波形GaussianWaveform
。我們選擇 100 ns 的脈衝長度、25 ns 的寬度,以及 0.1 的振幅 (任意單位)。波形以脈衝視窗為中心。 GaussianWaveform
接受布林引數 zero_at_edges
(圖例中的 ZaE)。設為 時True
,此引數會偏移高斯波形,讓 t=0 和 t=length
的點位於零,並重新調整其振幅,讓最大值對應至amplitude
引數。
現在我們已經介紹了脈衝層級存取的基本概念,接下來我們將了解如何使用閘道和脈衝建構電路。