支架脉冲 - Amazon Braket

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

支架脉冲

脉冲是控制量子计算机中量子比特的模拟信号。使用 Amazon Braket 上的某些设备,您可以访问脉冲控制功能,使用脉冲提交电路。你可以通过 Braket SDK、OpenQasm 3.0 或直接通过 Braket API 访问脉冲控制。首先,让我们介绍一下 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(顶部曲线)。曲线呈钟形状,峰值约为 0.5 秒,振幅为 0.10 a.

上图描绘了从中创建的高斯波形。GaussianWaveform我们选择的脉冲长度为 100 ns,宽度为 25 ns,振幅为 0.1(任意单位)。波形在脉冲窗口中居中。 GaussianWaveform接受布尔参数zero_at_edges(图例中的 zaE)。设置为时True,此参数会偏移高斯波形,使 t=0 和 t= length 处的点为零,并重新缩放其振幅,使最大值与参数相对应。amplitude

现在我们已经介绍了脉冲级访问的基本概念,接下来我们将看到如何使用门和脉冲来构造电路。