

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

# 使用 A QuEra quila 提交模拟节目
<a name="braket-quera-submitting-analog-program-aquila"></a>

本页提供了有关来自 QuEra 的 Aquila 机器能力的整个文档。此处涵盖的详细信息如下：

1. 通过以下方法模拟的参数化哈密顿量模型 Aquila

1. AHS 程序参数

1. AHS 结果内容

1. Aquila 能力参数

**Topics**
+ [哈密顿量](#braket-quera-aquila-device-hamiltonian)
+ [Braket AHS 程序架构](#braket-quera-ahs-program-schema)
+ [Braket AHS 任务结果架构](#braket-quera-ahs-task-result-schema)
+ [QuEra 设备属性架构](#braket-quera-device-properties-schema)

## 哈密顿量
<a name="braket-quera-aquila-device-hamiltonian"></a>

来自 QuEra 的 Aquila 机器以原生方式对以下（时变）哈密顿量程进行模拟。

![数学方程，其中：求和表示系统的哈密顿量，包括驱动、局部失谐和点间耦合项。](http://docs.aws.amazon.com/zh_cn/braket/latest/developerguide/images/TimeDependentDrivingHamiltonian.png)


**注意**  
访问局部失谐是一项[实验能力](https://docs.aws.amazon.com/braket/latest/developerguide/braket-experimental-capabilities.html)，可通过 Braket Direct 申请获得。

where
+ Hdrive,k​(t)=( 1/2 ​Ω(t)eiϕ(t)S−,k​ \+ 1/2 ​Ω(t)e−iϕ(t) S\+,k​) \+ (−Δglobal​(t)nk​)，
  + Ω(t) 是时变全局驱动振幅（又名 Rabi 频率），单位为（弧度/秒）
  + ϕ(t) 是时变全局相位，单位为弧度
  + S−,k​ 和 S\+,k 是原子 k 的自旋降低和升高运算符（在基数中，\|↓⟩=\|g⟩,\|↑⟩=\|r），它们是 S−​=\|g⟩⟨r\|,S\+​=(S−​)†=\|r⟩⟨g\|)
  + Δglobal​(t) 是时变全局失谐
  + nk 是原子 k 的里德伯格状态的投影运算符（也就是说，n=\|r⟩⟨r\|）
+ Hlocal detuning,k(t)=-Δlocal(t)hknk
  + Δlocal(t) 是局部频移的时变因子，单位为（弧度/秒）
  + hk 是与位置相关的因子，介于 0.0 到 1.0 之间的无量纲数字
+ Vvdw,k,l​=C6​/(dk,l​)6nk​nl​，
  + C6 是范德华系数，单位为 (rad / s) \* (m)^6
  + dk,l 是原子 k 和 l 之间的欧几里得距离，单位为米。

用户可以通过 Braket AHS 程序架构控制以下参数。
+ 二维原子排列（每个原子 k 的 xk 和 yk 坐标，单位为 um），它控制成对原子距离 dk,l​，其中：k,l=1,2,…N
+ Ω(t)，时变全局 Rabi 频率，单位为（弧度/秒）
+ ϕ(t)，时变全局相位，单位为（弧度）
+ Δglobal​(t)，时变全局失谐，单位为（弧度/秒）
+ Δlocal(t)，局部失谐振幅的时变（全局）因子，单位为（弧度/秒）
+ hk，与地点相关的局部失谐振幅的（静态）因子，属于介于 0.0 和 1.0 之间的无量纲数字

**注意**  
用户无法控制涉及哪些级别（即 S、S − \+​、n 运算符是固定的），也无法控制 Rydberg-Rydberg 交互系数 (C6) 的强度。

## Braket AHS 程序架构
<a name="braket-quera-ahs-program-schema"></a>

 **braket.ir.ahs.program\_v1.Program 对象**（示例）

**注意**  
如果您的账户未启用[局部失谐](https://docs.aws.amazon.com/braket/latest/developerguide/braket-experimental-capabilities.html#braket-access-local-detuning)功能，请在以下示例中使用 `localDetuning=[]`。

```
Program(
    braketSchemaHeader=BraketSchemaHeader(
        name='braket.ir.ahs.program',
        version='1'
    ),
    setup=Setup(
        ahs_register=AtomArrangement(
            sites=[
                [Decimal('0'), Decimal('0')],
                [Decimal('0'), Decimal('4e-6')],
                [Decimal('4e-6'), Decimal('0')]
            ],
            filling=[1, 1, 1]
        )
    ),
    hamiltonian=Hamiltonian(
        drivingFields=[
            DrivingField(
                amplitude=PhysicalField(
                    time_series=TimeSeries(
                        values=[Decimal('0'), Decimal('15700000.0'), Decimal('15700000.0'), Decimal('0')],
                        times=[Decimal('0'), Decimal('0.000001'), Decimal('0.000002'), Decimal('0.000003')]
                    ),
                    pattern='uniform'
                ),
                phase=PhysicalField(
                    time_series=TimeSeries(
                        values=[Decimal('0'), Decimal('0')],
                        times=[Decimal('0'), Decimal('0.000003')]
                    ),
                    pattern='uniform'
                ),
                detuning=PhysicalField(
                    time_series=TimeSeries(
                        values=[Decimal('-54000000.0'), Decimal('54000000.0')],
                        times=[Decimal('0'), Decimal('0.000003')]
                    ),
                    pattern='uniform'
                )
            )
        ],
        localDetuning=[
            LocalDetuning(
                magnitude=PhysicalField(
                    times_series=TimeSeries(
                        values=[Decimal('0'), Decimal('25000000.0'), Decimal('25000000.0'), Decimal('0')],
                        times=[Decimal('0'), Decimal('0.000001'), Decimal('0.000002'), Decimal('0.000003')]
                    ),
                    pattern=Pattern([Decimal('0.8'), Decimal('1.0'), Decimal('0.9')])
                )
            )
        ]
    )
)
```

**JSON**（示例）

**注意**  
如果您的账户未启用[局部失谐](https://docs.aws.amazon.com/braket/latest/developerguide/braket-experimental-capabilities.html#braket-access-local-detuning)功能，请在以下示例中使用 `"localDetuning": []`。

```
{
    "braketSchemaHeader": {
        "name": "braket.ir.ahs.program",
        "version": "1"
    },
    "setup": {
        "ahs_register": {
            "sites": [
                [0E-7, 0E-7], 
                [0E-7, 4E-6],
                [4E-6, 0E-7]
            ],
            "filling": [1, 1, 1]
        }
    },
    "hamiltonian": {
        "drivingFields": [
            {
                "amplitude": {
                    "time_series": {
                        "values": [0.0, 15700000.0, 15700000.0, 0.0],
                        "times": [0E-9, 0.000001000, 0.000002000, 0.000003000]
                    },
                    "pattern": "uniform"
                },
                "phase": {
                    "time_series": {
                        "values": [0E-7, 0E-7],
                        "times": [0E-9, 0.000003000]
                    },
                    "pattern": "uniform"
                },
                "detuning": {
                    "time_series": {
                        "values": [-54000000.0, 54000000.0],
                        "times": [0E-9, 0.000003000]
                    },
                    "pattern": "uniform"
                }
            }
        ],
        "localDetuning": [
            {
                "magnitude": {
                    "time_series": {
                        "values": [0.0, 25000000.0, 25000000.0, 0.0],
                        "times": [0E-9, 0.000001000, 0.000002000, 0.000003000]
                    },
                    "pattern": [0.8, 1.0, 0.9]
                }
            }
        ]
    }
}
```


**主要字段**  

| 程序字段 | 类型 | 描述 | 
| --- | --- | --- | 
| setup.ahs\_register.sites | List[List[Decimal]] | 镊子捕获原子的二维坐标清单 | 
| setup.ahs\_register.filling | List[int] | 用 1 标记占据陷阱位点的原子，用 0 标记占据空位点的原子 | 
| hamiltonian.drivingFields[].amplitude.time\_series.times | List[Decimal] | 驱动振幅的时间点，Omega(t) | 
| hamiltonian.drivingFields[].amplitude.time\_series.values | List[Decimal] | 驱动振幅值，Omega(t) | 
| hamiltonian.drivingFields[].amplitude.pattern | str | 驱动振幅的空间规律，Omega(t)；必须是“均匀的” | 
| hamiltonian.drivingFields[].phase.time\_series.times | List[Decimal] | 驾驶相位的时间点，phi(t) | 
| hamiltonian.drivingFields[].phase.time\_series.values | List[Decimal] | 驱动相位的值，phi(t) | 
| hamiltonian.drivingFields[].phase.pattern | str | 驱动相位的空间规律，phi(t)；必须是“均匀的” | 
| hamiltonian.drivingFields[].detuning.time\_series.times | List[Decimal] | 行驶失谐的时间点， Delta\_global(t) | 
| hamiltonian.drivingFields[].detuning.time\_series.values | List[Decimal] | 行驶失谐值， Delta\_global(t) | 
| hamiltonian.drivingFields[].detuning.pattern | str | 行驶失谐的空间模式， Delta\_global(t)；必须是 “均匀的” | 
| hamiltonian.localDetuning[].magnitude.time\_series.times | List[Decimal] | 局部失谐幅度的时变因子的时间点， Delta\_local(t) | 
| hamiltonian.localDetuning[].magnitude.time\_series.values | List[Decimal] | 局部失谐幅度的随时间变化的因子值， Delta\_local(t) | 
| hamiltonian.localDetuning[].magnitude.pattern | List[Decimal] | 局部失谐振幅的站点相关因子 h\_k（数值对应于 setup.ahs\_register.sites 中的站点） | 


**元数据字段**  

| 程序字段 | 类型 | 描述 | 
| --- | --- | --- | 
| 支架 SchemaHeader.name | str | 架构的名称；必须是“braket.ir.ahs.program” | 
| 支架 SchemaHeader.version | str | 架构版本 | 

## Braket AHS 任务结果架构
<a name="braket-quera-ahs-task-result-schema"></a>

 **braket.tasks.analog\_hamiltonian\_simulation\_quantum\_task\_result AnalogHamiltonianSimulationQuantumTaskResult**（示例）

```
AnalogHamiltonianSimulationQuantumTaskResult(
    task_metadata=TaskMetadata(
        braketSchemaHeader=BraketSchemaHeader(
            name='braket.task_result.task_metadata',
            version='1'
        ),
        id='arn:aws:braket:us-east-1:123456789012:quantum-task/12345678-90ab-cdef-1234-567890abcdef',
        shots=2,
        deviceId='arn:aws:braket:us-east-1::device/qpu/quera/Aquila',
        deviceParameters=None,
        createdAt='2022-10-25T20:59:10.788Z',
        endedAt='2022-10-25T21:00:58.218Z',
        status='COMPLETED',
        failureReason=None
    ),
    measurements=[
        ShotResult(
            status=<AnalogHamiltonianSimulationShotStatus.SUCCESS: 'Success'>,

            pre_sequence=array([1, 1, 1, 1]),
            post_sequence=array([0, 1, 1, 1])
        ),

        ShotResult(
            status=<AnalogHamiltonianSimulationShotStatus.SUCCESS: 'Success'>,

            pre_sequence=array([1, 1, 0, 1]),
            post_sequence=array([1, 0, 0, 0])
        )
    ]
)
```

 **JSON**（示例）

```
{
    "braketSchemaHeader": {
        "name": "braket.task_result.analog_hamiltonian_simulation_task_result",
        "version": "1"
    },
    "taskMetadata": {
        "braketSchemaHeader": {
            "name": "braket.task_result.task_metadata",
            "version": "1"
        },
        "id": "arn:aws:braket:us-east-1:123456789012:quantum-task/12345678-90ab-cdef-1234-567890abcdef",
        "shots": 2,
        "deviceId": "arn:aws:braket:us-east-1::device/qpu/quera/Aquila",

        "createdAt": "2022-10-25T20:59:10.788Z",
        "endedAt": "2022-10-25T21:00:58.218Z",
        "status": "COMPLETED"

    },
    "measurements": [
        {
            "shotMetadata": {"shotStatus": "Success"},
            "shotResult": {
                "preSequence": [1, 1, 1, 1],
                "postSequence": [0, 1, 1, 1]
            }
        },
        {
            "shotMetadata": {"shotStatus": "Success"},
            "shotResult": {
                "preSequence": [1, 1, 0, 1],
                "postSequence": [1, 0, 0, 0]
            }
        }
    ],
    "additionalMetadata": {
        "action": {...}
        "queraMetadata": {
            "braketSchemaHeader": {
                "name": "braket.task_result.quera_metadata",
                "version": "1"
            },
            "numSuccessfulShots": 100
        }
    }
}
```


**主要字段**  

| 任务结果字段 | 类型 | 描述 | 
| --- | --- | --- | 
| 测量 [] .shot Result.preSequence | List[int] | Pre-sequence 每次发射的测量位（每个原子位点一个）：如果位点为空，则为 0，如果位点已填满，则为 1，在运行量子进化的脉冲序列之前测量 | 
| 测量 [] .shot Result.postSequence | List[int] | Post-sequence 每次射击的测量位：如果原子处于里德伯格状态或位点为空，则为 0；如果原子处于基态，则为 1，在运行量子进化的脉冲序列末尾测量 | 


**元数据字段**  

| 任务结果字段 | 类型 | 描述 | 
| --- | --- | --- | 
| 支架 SchemaHeader.name | str | 架构名称；必须是“braket.task\_result.analog\_hamiltonian\_simulation\_task\_result.result” | 
| 支架 SchemaHeader.version | str | 架构版本 | 
| 任务 Metadata.braketSchemaHeader.name | str | 架构名称；必须是“braket.task\_result.task\_metadata” | 
| 任务 Metadata.braketSchemaHeader.version | str | 架构版本 | 
| 任务 Metadata.id | str | 量子任务 ID。对于 AWS 量子任务，这是量子任务 ARN。 | 
| 任务 Metadata.shots | int | 量子任务的拍摄次数 | 
| 任务 Metadata.shots.deviceId | str | 运行量子任务的设备的 ID。对于 AWS 设备，这是设备 ARN。 | 
| 任务 Metadata.shots.createdAt | str | 创建的时间戳；格式必须为 ISO-8601/RFC3339字符串格式 YYYY-MM-DDTHH:mm:ss.sssZ。默认值：无。 | 
| 任务 Metadata.shots.endedAt | str | 量子任务结束的时间戳；格式必须为 ISO-8601/RFC3339 字符串格式 YYYY-MM-DDTHH:mm:ss.sssZ。默认值：无。 | 
| 任务 Metadata.shots.status | str | 量子任务的状态（已创建、已排队、正在运行、已完成、失败）。默认值：无。 | 
| 任务 Metadata.shots.failureReason | str | 量子任务失败的原因。默认值：无。 | 
| 额外的 Metadata.action | braket.ir.ahs.program\_v1.Program | （请参阅 [Braket AHS 程序架构](#braket-quera-ahs-program-schema)部分） | 
| 额外的 Metadata.action.braketSchemaHeader.queraMetadata.name | str | 架构名称；必须是“braket.task\_result.quera\_metadata” | 
| 额外的 Metadata.action.braketSchemaHeader.queraMetadata.version | str | 架构版本 | 
| 额外的 Metadata.action.numSuccessfulShots | int | 完全成功拍摄的次数；必须等于请求的拍摄次数 | 
| 测量 [] .shot Metadata.shotStatus | int | 拍摄状态（成功、部分成功、失败）；必须为“成功” | 

## QuEra 设备属性架构
<a name="braket-quera-device-properties-schema"></a>

 **braket.device\_schema.quera.quera\_device\_capabilities\_v1。 QueraDeviceCapabilities**（示例）

```
QueraDeviceCapabilities(
    service=DeviceServiceProperties(
        braketSchemaHeader=BraketSchemaHeader(
            name='braket.device_schema.device_service_properties', 
            version='1'
            ), 
            executionWindows=[
                DeviceExecutionWindow(
                    executionDay=<ExecutionDay.MONDAY: 'Monday'>, 
                    windowStartHour=datetime.time(1, 0), 
                    windowEndHour=datetime.time(23, 59, 59)
                ), 
                DeviceExecutionWindow(
                    executionDay=<ExecutionDay.TUESDAY: 'Tuesday'>, 
                    windowStartHour=datetime.time(0, 0), 
                    windowEndHour=datetime.time(12, 0)
                ), 
                DeviceExecutionWindow(
                    executionDay=<ExecutionDay.WEDNESDAY: 'Wednesday'>, 
                    windowStartHour=datetime.time(0, 0), 
                    windowEndHour=datetime.time(12, 0)
                ), 
                DeviceExecutionWindow(
                    executionDay=<ExecutionDay.FRIDAY: 'Friday'>, 
                    windowStartHour=datetime.time(0, 0), 
                    windowEndHour=datetime.time(23, 59, 59)
                ), 
                DeviceExecutionWindow(
                    executionDay=<ExecutionDay.SATURDAY: 'Saturday'>, 
                    windowStartHour=datetime.time(0, 0), 
                    windowEndHour=datetime.time(23, 59, 59)
                ), 
                DeviceExecutionWindow(
                    executionDay=<ExecutionDay.SUNDAY: 'Sunday'>, 
                    windowStartHour=datetime.time(0, 0), 
                    windowEndHour=datetime.time(12, 0)
                )
            ], 
            shotsRange=(1, 1000), 
            deviceCost=DeviceCost(
                price=0.01, 
                unit='shot'
            ), 
            deviceDocumentation=
                DeviceDocumentation(
                    imageUrl='https://a.b.cdn.console.awsstatic.com/59534b58c709fc239521ef866db9ea3f1aba73ad3ebcf60c23914ad8c5c5c878/a6cfc6fca26cf1c2e1c6.png', 
                    summary='Analog quantum processor based on neutral atom arrays', 
                    externalDocumentationUrl='https://www.quera.com/aquila'
                ), 
                deviceLocation='Boston, USA', 
                updatedAt=datetime.datetime(2024, 1, 22, 12, 0, tzinfo=datetime.timezone.utc), 
                getTaskPollIntervalMillis=None
    ), 
    action={
        <DeviceActionType.AHS: 'braket.ir.ahs.program'>: DeviceActionProperties(
                version=['1'], 
                actionType=<DeviceActionType.AHS: 'braket.ir.ahs.program'>
            )
    }, 
    deviceParameters={}, 
    braketSchemaHeader=BraketSchemaHeader(
        name='braket.device_schema.quera.quera_device_capabilities', 
        version='1'
    ), 
    paradigm=QueraAhsParadigmProperties(
        ...
        # See https://github.com/amazon-braket/amazon-braket-schemas-python/blob/main/src/braket/device_schema/quera/quera_ahs_paradigm_properties_v1.py
        ...
    )  
)
```

 **JSON**（示例）

```
{
    "service": {
        "braketSchemaHeader": {
            "name": "braket.device_schema.device_service_properties",
            "version": "1"
        },
        "executionWindows": [
            {
                "executionDay": "Monday",
                "windowStartHour": "01:00:00",
                "windowEndHour": "23:59:59"
            },
            {
                "executionDay": "Tuesday",
                "windowStartHour": "00:00:00",
                "windowEndHour": "12:00:00"
            },
            {
                "executionDay": "Wednesday",
                "windowStartHour": "00:00:00",
                "windowEndHour": "12:00:00"
            },
            {
                "executionDay": "Friday",
                "windowStartHour": "00:00:00",
                "windowEndHour": "23:59:59"
            },
            {
                "executionDay": "Saturday",
                "windowStartHour": "00:00:00",
                "windowEndHour": "23:59:59"
            },
            {
                "executionDay": "Sunday",
                "windowStartHour": "00:00:00",
                "windowEndHour": "12:00:00"
            }
        ],
        "shotsRange": [
            1,
            1000
        ],
        "deviceCost": {
            "price": 0.01,
            "unit": "shot"
        },
        "deviceDocumentation": {
            "imageUrl": "https://a.b.cdn.console.awsstatic.com/59534b58c709fc239521ef866db9ea3f1aba73ad3ebcf60c23914ad8c5c5c878/a6cfc6fca26cf1c2e1c6.png",
            "summary": "Analog quantum processor based on neutral atom arrays",
            "externalDocumentationUrl": "https://www.quera.com/aquila"
        },
        "deviceLocation": "Boston, USA",
        "updatedAt": "2024-01-22T12:00:00+00:00"
    },
    "action": {
        "braket.ir.ahs.program": {
            "version": [
                "1"
            ],
            "actionType": "braket.ir.ahs.program"
        }
    },
    "deviceParameters": {},
    "braketSchemaHeader": {
        "name": "braket.device_schema.quera.quera_device_capabilities",
        "version": "1"
    },
    "paradigm": {
        ...
        # See Aquila device page > "Calibration" tab > "JSON" page
        ...
    }
}
```


**服务属性字段**  

| 服务属性字段 | 类型 | 描述 | 
| --- | --- | --- | 
| service.executionWindows[].executionDay | ExecutionDay | 执行窗口的天数；必须是 “每天”、“工作日”、“周末”、“星期一”、“星期二”、“星期三”、“星期四”、“星期五”、“星期六”或“星期日” | 
| 服务执行Windows [] .window StartHour | datetime.time | 执行窗口开始时间的 UTC 24 小时格式 | 
| 服务执行Windows [] .window EndHour | datetime.time | 执行窗口结束时间的 UTC 24 小时格式 | 
| service.qpu\_Capabilities.service.shotsRange | Tuple[int, int] | 设备的最小和最大拍摄次数 | 
| 服务.qpu\_capabilities.service.device Cost.price | 浮点数 | 设备价格（以美元计） | 
| 服务.qpu\_capabilities.service.device Cost.unit | str | 计费单位，例如：“分钟”、“小时”、“拍摄”、“任务” | 


**元数据字段**  

| 元数据字段 | 类型 | 描述 | 
| --- | --- | --- | 
| action[].version | str | AHS 程序架构的版本 | 
| action[].actionType | ActionType | AHS 程序架构名称；必须是“braket.ir.ahs.program” | 
| 服务支架 SchemaHeader.name | str | 架构的名称；必须是“braket.device\_schema.device\_service\_properties” | 
| 服务支架 SchemaHeader.version | str | 架构版本 | 
| 服务。设备 Documentation.imageUrl | str | 设备图片的 URL | 
| 服务。设备 Documentation.summary | str | 设备的简要描述 | 
| 服务。设备 Documentation.externalDocumentationUrl | str | 外部文档 URL | 
| service.deviceLocation | str | 设备的地理位置 | 
| service.updatedAt | datetime | 上次更新设备属性的时间 | 