翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
OpenQASM 3.0 で回路を実行する
Amazon Braket は、ゲートベースの量子デバイスとシミュレーターで OpenQASM 3.0
このガイドのトピックでは、以下の量子タスクを完了する方法のさまざまな例について説明します。
このガイドでは、Braket の OpenQASM 3.0 で実装できる特定のハードウェア固有の機能の概要と、その他のリソースへのリンクも提供します。
このセクションの内容:
- OpenQASM 3.0 とは
- OpenQASM 3.0 を使用するタイミング
- OpenQASM 3.0 の仕組み
- 前提条件
- Braket はどのような OpenQASM 機能をサポートしていますか?
- OpenQASM 3.0 量子タスクの例を作成して送信する
- 異なる Braket デバイスでの OpenQASM のサポート
- OpenQASM 3.0 でノイズをシミュレートする
- Qubit OpenQASM 3.0 を使用した再ワイヤリング
- OpenQASM 3.0 を使用した逐語的なコンパイル
- Braket コンソール
- その他のリソース
- OpenQASM 3.0 を使用した勾配の計算
- OpenQASM 3.0 を使用した特定の量子ビットの測定
OpenQASM 3.0 とは
Open Quantum Assembly Language (OpenQASM) は、量子命令の中間表現
OpenQASM の新しいバージョン (3.0) では、以前のバージョンを拡張して、エンドユーザーインターフェイスとハードウェア記述言語間のギャップを埋めるために、脈動レベルの制御、ゲートタイミング、クラシック制御フローなどの機能を追加しました。現在のバージョン 3.0 の詳細と仕様は、 GitHub OpenQASM 3.x Live Specification
OpenQASM 3.0 を使用するタイミング
OpenQASM は、アーキテクチャ固有ではない低レベル制御を通じて量子プログラムを指定する表現的フレームワークを提供するため、複数のゲートベースのデバイスにわたる表現として最適です。OpenQASM の Braket サポートは、ゲートベースの量子アルゴリズムを開発するための一貫したアプローチとして採用をさらに進め、ユーザーが複数のフレームワークでライブラリを学習して維持する必要性を減らします。
OpenQASM 3.0 に既存のプログラムのライブラリがある場合は、これらの回路を完全に書き換えるのではなく、Braket での使用に適応させることができます。研究者やデベロッパーは、OpenQASM でのアルゴリズム開発をサポートしている利用可能なサードパーティーライブラリの数が増えていることからも恩恵を受けるはずです。
OpenQASM 3.0 の仕組み
Braket の OpenQASM 3.0 のサポートにより、現在の中間表現と同等の機能が提供されます。つまり、Braket を使用してハードウェアデバイスやオンデマンドシミュレーターで現在できることはすべて、Braket を使用して OpenQASM で実行できるということですAPI。OpenQASM 3.0 プログラムを実行するには、OpenQASM 文字列をすべてのゲートベースのデバイスに直接供給します。これは、回路が Braket 上のデバイスに現在供給されている方法と似ています。Braket ユーザーは、OpenQASM 3.0 をサポートするサードパーティーライブラリを統合することもできます。このガイドの残りの部分では、Braket で使用する OpenQASM 表現を開発する方法について説明します。
前提条件
Amazon Braket で OpenQASM 3.0 を使用するには、Amazon Braket Python スキーマのバージョン v1.8.0
Amazon Braket を初めて使用する場合は、Braket Amazon を有効にする必要があります。手順については、Amazon Braket を有効にする」を参照してください。
Braket コンソール
OpenQASM 3.0 タスクは使用でき、AmazonBraket コンソール内で管理できます。コンソールでは、OpenQASM 3.0 で量子タスクを送信した経験は、既存の量子タスクを送信した経験と同じです。
その他のリソース
OpenQASM は、すべての Amazon Braket リージョンで使用できます。
Braket での OpenQASM の使用を開始するためのノートブックの例については、Amazon「Braket チュートリアル GitHub