

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

# パルスを使用したネイティブゲートへのアクセス
<a name="braket-native-gate-pulse"></a>

多くの場合、研究者は、特定の QPU でサポートされている*ネイティブ*ゲートをパルスとして実装する方法を正確に把握する必要があります。パルスシーケンスはハードウェアプロバイダーによって慎重にキャリブレーションされていますが、それらを利用することで、研究者はより良いゲートを設計したり、特定ゲートのパルスの伸張によるゼロノイズ外挿など、エラー緩和のための規定を探求したりすることができます。

Amazon Braket は、Rigetti のネイティブゲートへのプログラムによるアクセスをサポートしています。

```
import math
from braket.aws import AwsDevice
from braket.circuits import Circuit, GateCalibrations, QubitSet
from braket.circuits.gates import Rx

device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3")

calibrations = device.gate_calibrations
print(f"Downloaded {len(calibrations)} calibrations.")
```

**注記**  
ハードウェアプロバイダーは QPU を定期的に (通常、1 日に 2 回以上) キャリブレーションしています。Braket SDK を使用すると、最新のゲートキャリブレーション結果を取得できます。

```
device.refresh_gate_calibrations()
```

RX ゲートや XY ゲートなど、特定のネイティブゲートを取得するには、`Gate` オブジェクトと目的の量子ビットを渡す必要があります。例えば、qubit 0 に適用された RX(π/2) のパルス実装を検査してみましょう。

```
rx_pi_2_q0 = (Rx(math.pi/2), QubitSet(0))

pulse_sequence_rx_pi_2_q0 = calibrations.pulse_sequences[rx_pi_2_q0]
```

フィルタリングされたキャリブレーションのセットを作成するには、`filter` 関数を使用します。ゲートのリストまたは `QubitSet` のリストを渡します。次のコードは、RX(π/2) のすべてのキャリブレーション結果を含むセットと、qubit0 のすべてのキャリブレーション結果を含むセットを作成します。

```
rx_calibrations = calibrations.filter(gates=[Rx(math.pi/2)])
q0_calibrations = calibrations.filter(qubits=QubitSet([0]))
```

カスタムキャリブレーションセットをアタッチすることで、ネイティブゲートのアクションを提供または変更できるようになりました。例えば、次の回路について考えてみましょう。

```
bell_circuit = (
    Circuit()
    .rx(0, math.pi/2)
    .rx(1, math.pi/2)
    .iswap(0, 1)
    .rx(1, -math.pi/2)
)
```

`qubit 0` で `rx` ゲートのカスタムゲートキャリブレーション結果を使用してこの回路を実行するには、`PulseSequence` オブジェクトのディクショナリを `gate_definitions` キーワード引数に渡します。ディクショナリを作成するには、`GateCalibrations` オブジェクトの `pulse_sequences` 属性を使用します。指定しなかったすべてのゲートは、量子ハードウェアプロバイダーのパルスキャリブレーション結果に置き換えられます。

```
nb_shots = 50
custom_calibration = GateCalibrations({rx_pi_2_q0: pulse_sequence_rx_pi_2_q0})
task = device.run(bell_circuit, gate_definitions=custom_calibration.pulse_sequences, shots=nb_shots)
```