指令定义

包含的基础门类型与参数说明

  • 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]}
    ]
]