指令定义¶
包含的基础门类型与参数说明¶
RPhi (单门) - qubit (
uint32_t): 目标比特 - axis (double): 旋转轴 phase - angle (double): 旋转角度 theta - order (uint32_t): 时序ECHO (单门) - qubit (
uint32_t): 目标比特 - order (uint32_t): 时序IDLE (单门) - qubit (
uint32_t): 目标比特 - delay (uint32_t): 时延,可变,影响后续门时序 - order (uint32_t): 时序CZ (双门) - qubit (
uint32_t): 目标比特 - ctrl (uint32_t): 控制比特 - order (uint32_t): 时序
指令格式¶
指令格式采用json数组对象嵌套格式,最内层门对象包含一个5.1节所述基础门和其参数的组合和一个Measure门对象,基础门形如:
{"Gate": [Qubit..., 其它参数..., 执行时序]}
Measure门对象格式形如:
{"Measure": [[Qubit...], 执行时序]}
一个完整的单线路指令一般是由多个上述基础门对象和一个Measure门对象共同组成的json数组,形如:
[
{"Gate0": [Qubit..., 其它参数..., 执行时序]},
{"Gate1": [Qubit..., 其它参数..., 执行时序]},
...
{"Gaten": [Qubit..., 其它参数..., 执行时序]},
{"Measure": [[Qubit...], 执行时序]}
]
而任务一般是由多个线路的指令组成,即多个上述单线路指令的集合,所以一个任务完整的指令形如:
[
[
{"Gate0": [Qubit..., 其它参数..., 执行时序]},
{"Gate1": [Qubit..., 其它参数..., 执行时序]},
...
{"Gaten": [Qubit..., 其它参数..., 执行时序]},
{"Measure": [[Qubit...], 执行时序]}
],
...
[
{"Gate0": [Qubit..., 其它参数..., 执行时序]},
{"Gate1": [Qubit..., 其它参数..., 执行时序]},
...
{"Gatem": [Qubit..., 其它参数..., 执行时序]},
{"Measure": [[Qubit...], 执行时序]}
]
]
指令示例:
[
[
{"RPhi": [32, 270.0, 90.0, 0]},
{"RPhi": [33, 270.0, 90.0, 0]},
{"CZ": [32, 33, 30]},
{"RPhi": [33, 90.0, 90.0, 70]},
{"Measure": [[33, 32], 100]}
],
[
{"IDLE": [32, 30, 0]},
{"Measure": [[32], 130]}
],
[
{"RPhi": [33, 270.0, 90.0, 0]},
{"RPhi": [32, 180.0, 90.0, 100]},
{"Measure": [[33, 32], 130]}
]
]