

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# QuEra Aquila を使用してアナログプログラムを送信する
<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/ja_jp/braket/latest/developerguide/images/TimeDependentDrivingHamiltonian.png)


**注記**  
ローカルデチューニングへのアクセスは[実験機能](https://docs.aws.amazon.com/braket/latest/developerguide/braket-experimental-capabilities.html)であり、Braket Direct を通じたリクエストによって利用可能になります。

各一般項の意味は次のとおりです。
+ Hdrive,k​(t)=( 1/2 ​Ω(t)eiϕ(t)S−,k​ \$1 1/2 ​Ω(t)e−iϕ(t) S\$1,k​) \$1 (−Δglobal​(t)nk​),
  + Ω(t) は、時間依存のグローバル駆動振幅 (別名: Rabi 周波数) を rad/s 数として表したものです
  + ϕ(t) は時間依存のグローバル位相であり、ラジアン数として測定されます。
  + S−,k​ と S\$1,k は、原子 k のスピン下降演算子および上昇演算子です (基底 \$1↓⟩=\$1g⟩、\$1↑⟩=\$1r⟩ において、これらは S−=\$1g⟩⟨r\$1、S\$1=(S−)†=\$1r⟩⟨g\$1) となります)
  + Δglobal​(t) は時間依存のグローバルデチューニングです
  + nk は、原子 k の リュードベリ状態への射影演算子です (つまり、n=\$1r⟩⟨r\$1)。
+ Hlocal detuning,k(t)=-Δlocal(t)hknk
  + Δlocal(t) は、ローカル周波数シフトの時間依存係数であり、単位は rad/s です。
  + hk はサイト依存因子であり、0.0 から 1.0 の間の無次元数です。
+ Vvdw,k,l​=C6​/(dk,l​)6nk​nl​
  + 6 はファンデルワールス係数であり、単位は「rad/s \$1 m^6」です。
  + dk,l は、原子 k と l の間のユークリッド距離であり、メートル数として測定されます。

ユーザーは Braket AHS プログラムスキーマを使用して以下のパラメータを制御できます。
+ 2次元での原子配置 (各原子 k の xk および yk 座標、μm 数): k,l=1、2、...N までの原子間の距離 dk,l​ を制御する
+ Ω(t): 時間依存、グローバル Rabi 周波数、単位 rad/s
+ ϕ(t): 時間依存、グローバル位相、単位 rad
+ Δglobal(time): 時間依存、グローバル調整、単位 rad/s
+ Δlocal(t): ローカルデチューニングの大きさの時間依存 (グローバル) 因子、単位 rad/s
+ hk: ローカルデチューニングの大きさの (静的) サイト依存因子、0.0～1.0 の無次元数

**注記**  
ユーザーは、関係するレベルを制御できず (つまり、S−、S\$1​、n 演算子は固定されている)、リュードベリ-リュードベリ相互作用係数 (C6) の強度も制御できません。

## Braket AHS プログラムのスキーマ
<a name="braket-quera-ahs-program-schema"></a>

 **braket.ir.ahs.program\$1v1.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\$1register.sites  |  List[List[Decimal]]  |  光ピンセットが原子を捕捉する 2 次元座標のリスト  | 
|  setup.ahs\$1register.filling  |  List[int]  |  捕捉サイトを占有する原子を 1 でマークし、空のサイトを 0 でマークします  | 
|  hamiltonian.drivingFields[].amplitude.time\$1series.times  |  List[Decimal]  |  駆動振幅のタイムポイント、Omega(t)  | 
|  hamiltonian.drivingFields[].amplitude.time\$1series.values  |  List[Decimal]  |  駆動振幅の値、Omega(t)  | 
|  hamiltonian.drivingFields[].amplitude.pattern  |  str  |  駆動振幅の空間パターン、Omega(t)。「uniform」を指定する必要があります  | 
|  hamiltonian.drivingFields[].phase.time\$1series.times  |  List[Decimal]  |  駆動位相のタイムポイント、phi(t)  | 
|  hamiltonian.drivingFields[].phase.time\$1series.values  |  List[Decimal]  |  駆動位相の値、phi(t)  | 
|  hamiltonian.drivingFields[].phase.pattern  |  str  |  駆動位相の空間パターン、phi(t)。「uniform」を指定する必要があります  | 
|  hamiltonian.drivingFields[].detuning.time\$1series.times  |  List[Decimal]  |  駆動デチューニングのタイムポイント、Delta\$1global(t)  | 
|  hamiltonian.drivingFields[].detuning.time\$1series.values  |  List[Decimal]  |  駆動デチューニングの値、Delta\$1global(t)  | 
|  hamiltonian.drivingFields[].detuning.pattern  |  str  |  駆動デチューニングの空間パターン、Delta\$1global(t)。「均一」である必要があります  | 
|  hamiltonian.localDetuning[].magnitude.time\$1series.times  |  List[Decimal]  |  ローカルデチューニングの大きさの時間依存因子のタイムポイント、Delta\$1local(t)  | 
|  hamiltonian.localDetuning[].magnitude.time\$1series.values  |  List[Decimal]  |  ローカルデチューニングの大きさの時間依存因子の値、Delta\$1local(t)  | 
|  hamiltonian.localDetuning[].magnitude.pattern  |  List[Decimal]  |  ローカルデチューニングの大きさのサイト依存係数 h\$1k (値は setup.ahs\$1register.sites の sites に対応)  | 


**メタデータフィールド**  

| プログラムフィールド | 型 | 説明 | 
| --- | --- | --- | 
|  braketSchemaHeader.name  |  str  |  スキーマの名前。「braket.ir.ahs.program」を指定する必要があります  | 
|  braketSchemaHeader.version  |  str  |  スキーマのバージョン  | 

## Braket AHS タスク結果スキーマ
<a name="braket-quera-ahs-task-result-schema"></a>

 **braket.tasks.analog\$1hamiltonian\$1simulation\$1quantum\$1task\$1result.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
        }
    }
}
```


**主なフィールド**  

| タスク結果フィールド | 型 | 説明 | 
| --- | --- | --- | 
|  measurements[].shotResult.preSequence  |  List[int]  |  各ショットのシーケンス前測定ビット (原子サイトごとに 1 つ): サイトが空の場合は 0、サイトが占有されている場合は 1。測定は、量子進化を実行するパルスのシーケンスの前に行います  | 
|  measurements[].shotResult.postSequence  |  List[int]  |  各ショットのシーケンス後測定ビット: 原子がリュードベリ状態か空の場合は 0、原子が基底状態の場合は 1。測定は、量子進化を実行するパルスシーケンスの終了後に行います  | 


**メタデータフィールド**  

| タスク結果フィールド | 型 | 説明 | 
| --- | --- | --- | 
|  braketSchemaHeader.name  |  str  |  スキーマの名前。「braket.task\$1result.analog\$1hamiltonian\$1simulation\$1task\$1result」を指定する必要があります  | 
|  braketSchemaHeader.version  |  str  |  スキーマのバージョン  | 
|  taskMetadata.braketSchemaHeader.name  |  str  |  スキーマの名前。「braket.task\$1result.task\$1metadata」を指定する必要があります  | 
|  taskMetadata.braketSchemaHeader.version  |  str  |  スキーマのバージョン  | 
|  taskMetadata.id  |  str  |  量子タスクの ID。 AWS 量子タスクの場合、これは量子タスク ARN です。  | 
|  taskMetadata.shots  |  int  |  量子タスクのショット数  | 
|  taskMetadata.shots.deviceId  |  str  |  量子タスクが実行されたデバイスの ID。 AWS デバイスの場合、これはデバイス ARN です。  | 
|  taskMetadata.shots.createdAt  |  str  |  作成のタイムスタンプ。形式は、ISO-8601/RFC3339 文字列形式 YYYY-MM-DDTHH:mm:ss.sssZ にする必要があります。デフォルトは「None」です。  | 
|  taskMetadata.shots.endedAt  |  str  |  量子タスクが終了した日時のタイムスタンプ。形式は ISO-8601/RFC3339 文字列形式 YYYY-MM-DDTHH:mm:ss.sssZ にする必要があります。デフォルトは「None」です。  | 
|  taskMetadata.shots.status  |  str  |  量子タスクのステータス (CREATED、QUEUED、RUNNING、COMPLETED、FAILED)。デフォルトは「None」です。  | 
|  taskMetadata.shots.failureReason  |  str  |  量子タスクの失敗の理由。デフォルトは「None」です。  | 
|  additionalMetadata.action  |  braket.ir.ahs.program\$1v1.Program  |  (「[Braket AHS プログラムのスキーマ](#braket-quera-ahs-program-schema)」セクションを参照)  | 
|  additionalMetadata.action.braketSchemaHeader.queraMetadata.name  |  str  |  スキーマの名前。「braket.task\$1result.quera\$1metadata」を指定する必要があります  | 
|  additionalMetadata.action.braketSchemaHeader.queraMetadata.version  |  str  |  スキーマのバージョン  | 
|  additionalMetadata.action.numSuccessfulShots  |  int  |  完全に成功したショットの数。リクエストされたショット数と同じになる必要があります  | 
|  measurements[].shotMetadata.shotStatus  |  int  |  ショットの状態 (「成功」、「部分的成功」、「失敗」)、「成功] になる必要があります  | 

## QuEra デバイスプロパティのスキーマ
<a name="braket-quera-device-properties-schema"></a>

 **braket.device\$1schema.quera.quera\$1device\$1capabilities\$1v1.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  |  実行ウィンドウの曜日。「Everyday」、「Weekdays」、「Weekend」、「Monday」、「Tuesday」、「Wednesday」、「Thursday」、「Friday」、「Saturday」、または「Sunday」を指定する必要があります  | 
|  service.executionWindows[].windowStartHour  |  datetime.time  |  実行ウィンドウを開始する時刻 (UTC 24 時間形式)  | 
|  service.executionWindows[].windowEndHour  |  datetime.time  |  実行ウィンドウを終了する時刻 (UTC 24 時間形式)  | 
|  service.qpu\$1capabilities.service.shotsRange  |  Tuple[int, int]  |  デバイスの最小ショット数と最大ショット数  | 
|  service.qpu\$1capabilities.service.deviceCost.price  |  float  |  デバイスの価格 (単位: USD)  | 
|  service.qpu\$1capabilities.service.deviceCost.unit  |  str  |  料金の請求単位。例：「minute」(分)、「hour」(時間)、「shot」(ショット)、「task」(タスク)  | 


**メタデータフィールド**  

| メタデータフィールド | 型 | 説明 | 
| --- | --- | --- | 
|  action[].version  |  str  |  AHS プログラムのスキーマのバージョン  | 
|  action[].actionType  |  ActionType  |  AHS プログラムスキーマ名。「braket.ir.ahs.program」を指定する必要があります  | 
|  service.braketSchemaHeader.name  |  str  |  スキーマの名前。「braket.device\$1schema.device\$1service\$1properties」を指定する必要があります  | 
|  service.braketSchemaHeader.version  |  str  |  スキーマのバージョン  | 
|  service.deviceDocumentation.imageUrl  |  str  |  デバイスのイメージ (画像) の URL  | 
|  service.deviceDocumentation.summary  |  str  |  デバイスに関する簡単な説明  | 
|  service.deviceDocumentation.externalDocumentationUrl  |  str  |  外部ドキュメントの URL  | 
|  service.deviceLocation  |  str  |  デバイスの地理的位置  | 
|  service.updatedAt  |  datetime  |  デバイスプロパティが最後に更新された日時  | 