Qiskit Pulseからフラクショナルゲートへの移行
フラクショナルゲートの導入に伴い、すべてのIBM Quantum®プロセッサーにおけるパルスレベルの制御は非推奨となり、2025年初頭に削除される予定です。また、qiskit.pulseモジュールはQiskit SDK v1.3.0で非推奨となり、Qiskit SDK v2.0.0で削除されます。この変更は、ユーティリティスケールの実験への継続的な注力と、量子アドバンテージにつながる可能性のあるアプリケーションを探求するユーザーへのサポートを背景としています。
フラクショナルゲートを使用した1量子ビットおよび2量子ビット回転の直接実行
パルスレベル制御の最も一般的なユースケースは、ECRまたはRXパルスを変更するカスタムパルススケジュールを構築し、1量子ビットおよび2量子ビットの回転を直接実行することでした。一般的な手順としては、RXCalibrationBuilderおよびRZXCalibrationBuilder(またはRZXCalibrationBuilderNoEcho)を使用し、QPUのtargetにRXGateまたはRZXGate命令を追加した後、キャリブレーションビルダーパスを含むトランスパイルパイプラインを構築して、指定した角度に対する1量子ビットおよび2量子ビット回転をキャリブレーションするというものでした。この処理の背後では、ScheduleBlockとQuantumCircuit内のゲートとの対応関係であるキャリブレーションが作成されていました。
現在は、新しいuse_fractional_gatesフラグを使用してHeronプロセッサー上でこれを実現できます。フラクショナルゲートガイドに記載されているとおり、およびはどちらもこのフラグを使用してロードする必要があります。これにより、これらのゲートに関する情報をTarget属性に持つバックエンドが返されます。
service = QiskitRuntimeService()
backend = service.backend('ibm_torino', use_fractional_gates=True)
Qiskit Dynamicsの使用
qiskit.pulseモジュールには、1量子ビットおよび2量子ビット回転をより効率的に実行する機能以外にも、多くの機能が含まれていました。デバイス物理に対する制御の多くは、Qiskit Ecosystemに含まれるQiskit Dynamicsパッケージを使用してモデル化できます。特に、このパッケージはqiskit_dynamics.signalsモジュールという形で、qiskit.pulseが提供していた多くの機能に類似した独自の表現を持っています。このパッケージのドキュメントには、参考となるいくつかのチュートリアルが含まれています: