4. QCIS用户手册¶
QCIS是用于量子计算物理系统远程调控的指令集,这意味着云平台将支持用户远程调用其开放接口,在真实量子计算机上进行“云端”量子编程实验。
4.1 QCIS指令概述¶
QCIS(Quantum Control Instruction Set)是一套对超导量子计算机硬件系统进行控制的指令集,旨在将硬件控制用指令进行抽象标准化。它不同于量子计算机指令集 QASM(Quantum Assembly Language),两者的区别在前者面向的是原始的物理系统而后者是对量子门的抽象 表达。QCIS和物理系统有比较紧密的的耦合,原则上QCIS和量子处理,控制系统是绑定的。 如果物理系统发生大的变化,比如qubit从Transmon Qubit换成Flux Qubit或Phase Qubit, 耦合器从Gmon换成腔耦合等,QCIS也要有全新的版本才能适配。
4.2 QCIS指令格式¶
QCIS指令采用《OpCode》《Target》的格式,由指令字符,目标比特组成。目前云平台量子计算机支持的指令包含14个单比特门和一个双比特门,分别为X, Y, Z, S, SD, H,T,T D, X2P, X2M, Y 2P, Y 2M 和CZ。具体定义我们会在下一单元给出。目标比特由字母Q加 相应索引(index)组成,如云平台12比特量子计算机上有12个量子比特,相应标识为Q1, Q2, . . .Q12. 每一个指令占一行。不同指令不可以叠加在同一行, 如X Y Q1指令是不合语法的。同样 同一门作用在不同比特上也应按照不同操作写在不同行。如X Q1 Q2 是不合语法的。但是, 有一个特例请读者注意,测量门可以写在同一行,如实验最终对第1, 4, 5比特做测量,可以表示为M Q1 Q4 Q5。也可以写在不同行做不同操作处理,如 M Q1 \n M Q4 \n M Q5。 QCIS指令不区分大小写。
4.3 QCIS指令说明¶
云平台新机型所包含的原生门包含如下操作,X2P, X2M, Y2P, Y2M, RZ, I, B, M.
除此之外, 云平台也配备了复合门操作:X, Y, S, SD, T, TD, Z, H, RX, RY, RXY.
其中,原生门在量子计算机端将不再被转译而直接执行,复合门则一定会被按照规则转译成基础门之后,再交由量子计算机执行。
这一转译过程目前不能被屏蔽,但不排除后期优化更多,将复合门调教到最优作为基础门提供。
如果不希望量子计算机前的环节修改你的程序,请尽量使用基础门进行线路设计。
表1描述了原生门的定义及验证规则
表 1: QCIS原生门的使用规则¶
指令 | 说明 | QCIS 指令示例 | 验证规则 |
---|---|---|---|
X2P | X2P = R_x(\pi/2) = e^{-i\pi/4 \, \sigma_x } = \frac{1}{\sqrt{2}}\left[\begin{array}{cc} 1&-i\\-i&1\end{array}\right] | X2P Q1 | 无 |
X2M | X2M = R_x(-\pi/2) = e^{i \pi/4 \,\sigma_x} = \frac{1}{\sqrt{2}}\left[\begin{array}{cc} 1&i\\i&1\end{array}\right] | X2M Q1 | 无 |
Y2P | Y2P = R_y(\pi/2) = e^{-i \pi/4\,\sigma_y} = \frac{1}{\sqrt{2}}\left[\begin{array}{cc} 1&-1\\1&1\end{array}\right] | Y2P Q1 | 无 |
Y2M | Y2M = R_y(-\pi/2) = e^{i\pi/4\, \sigma_y } = \frac{1}{\sqrt{2}}\left[\begin{array}{cc} 1&1\\-1&1\end{array}\right] | Y2M Q1 | 无 |
CZ | CZ =\left[ \begin{array}{cccc}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&-1\end{array}\right] | CZ Q1 Q2 | Q1,Q2需满足 硬件连接条件 |
RZ | RZ(\theta) = e^{-i\theta/2 \sigma_z } = \left[\begin{array}{cc} e^{-i\theta/2}& 0 \\ 0 & e^{i\theta/2}\end{array}\right] | RZ Q1 \theta | 无 |
I | 在一段时间t(ns)内无操作 | I Q1 t | t为整数,单位为0.5ns 即当t=1时,时间为0.5ns |
B | 对齐量子操作 | B Q1 Q2 | 无 |
注:
- RZ 指令中的\theta 不做-\pi<\theta< \pi的约束
表2描述了复合门的定义和编译规则。
表 2: QCIS复合门的编译规则¶
指令 | 说明 | QCIS 指令 | 编译规则 |
---|---|---|---|
X | X =\left[\begin{array}{cc} 0&1\\1&0\end{array}\right] | X Q1 | X2P Q1 X2P Q1 |
Y | Y =\left[\begin{array}{cc} 0&-i\\i&0\end{array}\right] | Y Q1 | Y2P Q1 Y2P Q1 |
S | S = e^{i\pi/4}R_z(\pi/2)=\left[\begin{array}{cc} 1&0\\0&i\end{array}\right] | S Q1 | RZ Q1 \pi/2 |
SD | SD = e^{-i\pi/4}R_z(-\pi/2)= \left[\begin{array}{cc} 1&0\\0&-i\end{array}\right] | SD Q1 | RZ Q1 -\pi/2 |
T | T = e^{i\pi/8}R_z(\pi/4)= \left[\begin{array}{cc} 1&0\\0&e^{i\pi/4}\end{array}\right] | T Q1 | RZ Q1 \pi/4 |
TD | TD = e^{-i\pi/8}R_z(-\pi/4)= \left[\begin{array}{cc} 1&0\\0&e^{-i\pi/4}\end{array}\right] | TD Q1 | RZ Q1 -\pi/4 |
Z | Z = iR_z(\pi)= \left[\begin{array}{cc} 1&0\\0&-1\end{array}\right] | Z Q1 | RZ Q1 \pi |
H | H = \frac{1}{\sqrt{2}}\left[\begin{array}{cc} 1&1\\1&-1\end{array}\right] | H Q1 | Case1: RZ Q1 \pi Y2P Q1 Case2:Y2M Q1 RZ Q1 \pi |
RX | RX(\theta) = e^{-i\theta/2 \sigma_x } = \left[\begin{array}{cc} \cos\theta/2 & -i\sin \theta/2 \\ -i\sin\theta/2 & \cos \theta/2 \end{array}\right] | RX Q1 \theta | RZ Q1 \pi/2 X2P Q1 RZ Q1 \theta X2M Q1 RZ Q1 -\pi/2 |
RY | RY(\theta) = e^{-i\theta/2\, \sigma_y } = \left[\begin{array}{cc} \cos\theta/2 & -\sin \theta/2 \\ \sin\theta/2 & \cos \theta/2 \end{array}\right] | RY Q1 \theta | X2P Q1 RZ Q1 \theta X2M Q1 |
RXY | RXY(\phi, \theta) = e^{-i \theta/2 \hat{n}\cdot\hat{\sigma}} =\left[\begin{array}{cc} \cos \theta/2 & -ie^{-i\phi}\sin\theta/2 \\-i e^{i\phi} \sin\theta/2 & \cos\theta/2\end{array}\right] \hat{n} = (\cos\phi, \sin\phi, 0) |
RXY Q1 \phi~~\theta | RZ Q1 \pi/2 − \phi X2P Q1 RZ Q1 \theta X2M Q1 RZ Q1 \phi-\pi/2 |
注:
- H指令有两种编译形式,相互等效,在实际编译时按照1:1比例随机选取
2023年7月,最新开放指令
加任意控制脉冲操作指令¶
比特所有操作(包括但比特门、两比特门)都是通过加特定的制脉冲实现,通过此指令可实现对比特最高自由度的调控。
指令格式为:
PULSE [操作比特][脉冲参数列表]
简写指令:PLS [操作比特][脉冲参数列表]
操作比特:加脉冲的比特,适用于所有可操作量子器件,包括数据比特,耦合比特,读取,放大器等;
参数列表:[波形编号][波形起始时间][length, amplitude, frequency, phase, dragAlpha][波形其它参数]。
- 波形编号。指定波形类型:
波形编号 | 对应的波形类型 |
---|---|
0 | 数值波形,波形的每个点的值由用户通过[波形其它参数]以数值形式传入。指令示例:PULSE C02 -1 256 0 0 0 0 0 200 100 300 400 … 23466,此指令加数值波形200 100 300 400 … 23466,波形起始时间为256。对数字波形length, amplitude, frequency, phase几个参数没有意义。 |
1 | flattop |
2 | cosine |
其他波形 | 暂未开放 |
- 波形起始时间(tStart):相对控制波形序列起点,单位为DAC采样周期,tStart < 0表示波形起始时间为被操作量子器件上一个门指令波形的结束时间,即和标准门操作一样,以前后拼接的方式生成序列。tStart >= 0,波形时间为tStart,和前面门序列长度无关,即在任意位置自由加波形;
- length:波形长度,单位为DAC采样周期;
- amplitude:波形幅度,单位为DAC码值,最大幅度为32768;
- frequency:边带混频频率,单位Hz;
- phase:边带混频相位,单位rad;
- dragAlpha:DRAG修正系数;
- 波形其它参数:生成波形可能需要的其他参数,和具体波形类型有关。比如,对数值型波形,波形其它参数是一个数值序列,定义波形的每个采样点的值;
注:对特定波形类型,有些参数可能没有意义,这种情况下这些参数的值不会被用到,可赋任意值。如:数值波形的length, amplitude, frequency, phase几个参数没有意义。
示例:
PLS G107 0 60 0 0 0 0 0 0 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 0
这条指令将在耦合比特G107上加一个数值定义的波形,波形起始时间为60(对应30ns),波形由数值0 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 5E3 0定义,为一个方波。
PLS G107 1 -1 100 0 0 0 0 4
这条指令将在耦合比特G107上加一个预设的波形flattop(有平滑上升沿和下降沿的方波)。波形起始时间为耦合比特G107上一条指令波形的结束时间+1(0.5ns),即和已有波形拼接。这里波形的长度为100(50ns),上升沿和下降沿为4(2ns),幅度为0。因为加的波形幅度为0,所以该指令实现功能为等待50ns不做任何操作。
耦合比特打开耦合操作¶
通过此操作对耦合比特的耦合功能进行调节控制。
指令格式:
G [耦合比特][作用持续时间] [耦合强度]
耦合比特:操作的耦合比特,此操作仅适用于耦合比特,不能作用在数据比特等其他量子器件。
作用持续时间:耦合打开持续时间,单位:DAC采样周期。
耦合强度:耦合打开的强度(幅度),单位Hz。
示例:
G G107 100 -3E6
这条指令将耦合比特G107耦合强度调到3MHz,保持100(50ns)后关闭。
耦合比特交流耦合门操作¶
通过此操作控制耦合比特实现两比特耦合交流CZ门(Shaowei Li et al 2022 Chinese Phys. Lett. 39 030302)。
指令格式:
AACZ [耦合比特]