IBM Quantum Computeクライアントのリリースノート
0.49.0 (2026年8月10日)
アップグレードの注意
- この
options_modelsパッケージのオプションクラスは、以前は に基づいていましたが、現在は ではなくBaseModelPydantic の に基づいていますdataclass。 ( 3042 ) - Executorのデフォルトスキーマバージョンを 2.0 に変更しました。 ( 3043 )
- 「 Qiskit Runtime 」サービスは「 IBM Quantum Compute 」サービスに名称が変更され、ドキュメント内の当該サービスに関する記述も更新されました。 このクラ
QiskitRuntimeServiceスは、現在 として利用可能ですIBMQuantumComputeService。 ( 3070 )
非推奨のメモ
- このパッケージ
options_modelsのオプションクラスasdictを使用した標準ライブラリ(stdlib)の使い方は、これらが現在は Pydantic モデルとなっているため、非推奨となりました。 その代わりに、それらを.ファイルにシリアライズするには、をoptions.model_dump()直接使用してくださいdict。 ( 3042 ) - このオプション
post_selectionは現在非推奨NoiseLearnerV3となっており、今後のリリースで削除される予定です。 ( 3160 )
新機能
- 命令
MidCircuitResetとConvertToMidCircuitResetAndMeasureトランスパイラ・パスを追加しました。 この新しいパスは、非終端命令resetをハードウェア固有の中間リセット実装に置き換えることで、既存のConvertToMidCircuitMeasure機能を拡張しています。 ( 2903 ) - NoiseLearnerV3Options に bit_flip_checks フィールドを追加し、ユーザーがノイズ学習回路の結果に対してビット反転チェックを要求できるようにしました。 ( 2907 )
- にオプションの
persistパラメータを追加しましたFakeBackendV2.refresh()。 デフォルトでは(persist=True)、動作に変更はありません。更新された設定とプロパティは、インストールされたパッケージに同梱されているデータファイルを上書きするため、更新内容はセッションをまたいで保持されます。 代わりにpersist=FalsePassingを指定すると、更新されたデータが一時ディレクトリに書き込まれます。これにより、パッケージが読み取り専用領域(たとえば、システム全体のディレクトリsite-packagesなど)にインストールされている場合でも、バンドルされたファイルの上書きによって通常はエラーが発生する状況でも、処理refresh()が正常に完了するようになりますPermissionError。 このモードでは、バックエンドは現在のセッションに対してのみ更新され、変更内容はディスクに保存されません。 ( 2977 ) IBMBackend現在、この属性physical_qubitsが追加されており、バックエンドの物理量子ビット数(プログラマブル量子ビット、リセット量子ビット、およびカプラーの合計)を返します。 この属性は、廃止されていないバックエンドFakeBackendV2でも利用可能です。 ( 3080 )- が使用する IAM の URL は、 IBM SDK の および
GLOBAL_SEARCH_URL変数GLOBAL_CATALOG_URLと同じ規約に従い、環境IAM_URL変数によって上書きできるようQiskitRuntimeService.instances()になりました。 これにより、コードを変更することなく、VPE環境内のプライベートエンドポイント(例:https://private.iam.cloud.ibm.com)を経由してIAMトラフィックをルーティングできるようになります。 ( 3135 )
バグ修正
- 取得したジョブが、ローカルにインストールされているものよりも新しいバージョンのQiskitでシリアライズされていた場合に表示される警告を改善する。 を呼び出す前に
qiskit.qpy.load、組み込みの QPY フォーマットのバージョンが、インストール済みの Qiskit がサポートするバージョンよりも新しい場合pip install -U qiskit、RuntimeDecoder現在は へのアップグレードを推奨する明確なメッセージが表示されるようになりました。 ( 2426 ) FakeProviderForBackendV2.backends()現在では、すでに返されていた,FakeAachen,FakeBerlin,FakeBoston,FakeBrussels,FakeKingston,FakeMiamiFakePittsburgh, および に加え、からインポート可能であったもののqiskit_ibm_runtime.fake_provider、プロバイダーのバックエンド一覧には含まれていなかった8つの偽のバックエンドも返されるようになりましたFakeStrasbourg。 以前は、(FakeProviderForBackendV2().backend(name="fake_kingston")および他の7つ)を呼び出すと、バックエンドクラスが存在していたにもかかわらずQiskitBackendNotFoundError、が発生していました。 ( 3164 )
0.48.0 (2026年7月14日)
アップグレードの注意
0.18.0``2.3.0Qiskitの必要最小バージョンは現在 となり、Samplomaticの必要最小バージョンは です。"local_c1"のExecutorユーザーは、Samplomatic バージョン0.17.0以降でサポートされている「twirling」グループを使用して、回路を回転させることができるようになりました。 ( 2925 )
非推奨のメモ
-
結果を表すすべてのクラスは、現在この
qiskit_ibm_runtime.resultsパッケージから利用可能になりました。これに伴い、以下のクラスが results パッケージに移動しました:qiskit_ibm_runtime.utils.noise_learner_result``PauliLindbladError,LayerError,NoiseLearnerResult(以前は~の一部でした)qiskit_ibm_runtime.utils.estimator_pub_result``EstimatorPubResult(以前は~の一部でした)
以前の場所からのインポートは非推奨となっており、今後のリリースで参照が削除される予定です。 ( 2835 )
-
SamplerV2PUBごとに異なるpub.shots値でジョブを実行することは、非推奨となっています。EstimatorV2同様に、PUBごとに異なるpub.precision値でジョブを実行することは非推奨となっています。 ( 2992 ) -
を
intに設定MeasureNoiseLearningOptions.shots_per_randomizationすることは非推奨となっており、今後のリリースで削除される予定です。 その代わりに、 をご使用"auto"ください。 ( 3004 )
新機能
-
この
RuntimeJobV2.usage()メソッドは、オプションpartialのパラメータ( 2884 )に対応するようになりました:Falseフラグがpartialの場合、このメソッドはジョブの使用量の計算が完了するまで を返します0。Trueフラグがpartialの場合、計算が完了しているかどうかに関係なく、このメソッドはジョブの累積部分使用量を返します。
-
Executorジョブの実行時に、回路スケジュールのタイミングを要求するオプションと、個々の回路の区間の数値解像度を返すオプションを追加しました。 ( 2790 ) ( 2789 )
-
QiskitRuntimeService.save_account()および でのQiskitRuntimeServiceinstance="auto"サポートが追加されました。 この引数をinstance="auto"指定すると、バックエンドの取得中に「インスタンスが設定されていません」という警告や「インスタンスの読み込み中/使用中」という警告が発生することなく、自動的にインスタンスが選択されるよう明示的に設定されます。 この値はアカウントファイルに保存できるため、その後のインスタンス化のたびに反映されます。 ( 2854 ) -
QiskitRuntimeService.backend()QiskitRuntimeService.least_busy()にパラメータuse_fractional_gatesを追加しました。これは、における同名のパラメータの動作と一致するものです。Trueに設定すると、基底ゲートに分数ゲートを含むバックエンドのみが考慮されます。これを含まないバックエンドはスキップされ、代わりに、条件を満たすバックエンドのうち、次に負荷の低いものが優先されます。 ( 2855 ) -
および
RuntimeJobV2.result()にRuntimeJobV2複数の結果デコーダを渡す機能のサポートが復活しました。 ( 2899 ) -
QuantumProgram.meas_level = "both"のサポートが追加されました。これを使用すると、量子プログラムの結果に、分類済みおよびカーネル処理済みの測定値の両方が含まれるよう要求することができます。 ( 2973 )
バグ修正
piトランスパイラ・パスFoldRzzAngleにおけるバグを修正しました。このバグRzzにより、角度が境界+-piに正確にラップするゲート(例:3*pi-3*pi,,7*pi)が、グローバル位相が 異なる回路に折りたたまれていました。 このパスでは、ドロップ2*piされた巻線パリティを巻き付け角度から直接導出するため、折り畳まれた回路はすべての角度において完全なユニタリ性(グローバル位相を含む)を保持します。 ( 2856 )EstimatorV2.run()SamplerV2.run()異なるインスタンスのバックエンドを使用する場合、、、およびその他のプリミティブの.run()メソッドで使用されるサービスは、ジョブの送信に常にアクティブなAPIクライアントを使用するのではなく、そのバックエンドに属するAPIクライアントが使用されるようにするようになりました。 ( 2931 )- トランスパイレーション時の、範囲
rzz外の角度の折り畳みに関する問題を修正しました。pi/2以前の設定では、 FoldRzzAngle パスの後に実行された翻訳パスによって角度が変更され、負の値や.を超える値になってしまうというバグがありました。 このバグは、バックエンドのターゲットにおいて、ゲートに対して をrzz``angle_boundsに(0, pi/2)設定し、トランスパイWrapAnglesラのパスに ラッパーrzzを登録することで修正されます。 この仕組みにより、プラグインおよびトランスパイラー・パFoldRzzAngleスの使用がIBMDynamicFractionalTranslationPlugin不要になります。 ( 2960 )
その他の注意事項
- このライブラリは現在、 Qiskit Runtime REST APIのバージョ
2026-04-15ンを使用しています。 ( 2845 ) - 非推奨となっていたトランスパイラープラグイン
IBMFractionalTranslationPluginが削除されました。 ( 2880 ) - Executor のデフォルトのスキーマバージョンは、現在
1.1. です。 ( 2911 )
0.47.0 (2026年5月12日)
新機能
-
Samplomatic パッケージが提供する一連の機能を最大限に活用できるようにするため、Executor クラスと QuantumProgram クラスを追加しました。
-
注釈付きボックスを含む命令のノイズを学習するために、 NoiseLearnerV3 クラスを追加しました。
-
実際のバックエンドの設定とプロパティを取得するスクリプトを追加しました。
-
FakeKingston新しいフェイクバックエンドが1つ追加されました。 これは、156キュービットのHeron r2 デバイスです。 ( 2711 ) -
IBM Cloud Platformのサービスとのやり取り(インスタンス化時に
QiskitRuntimeService発生し、サービス名はglobal_search、global_catalog``resource_controller、 です)は、現在 IBM Cloud のSDK設定メカニズムに準拠しており、環境変数や認証情報ファイルを介してカスタム設定を渡すことが可能になりました。 ( 2712 ) -
ChunkTiming新しいチャンク・タイミング・コンテナ・クラスchunk_timingsの 1 つ以上のインスタンスの実行タイミングを、対話型の棒グラフにプロットするために追加draw_chunk_timings()されましたqiskit_ibm_runtime.visualization。job.result().timing.draw()単一の結果の場合には、. を通じて便利なChunkTiming.draw()メソッドも利用可能です。 ( 2727 ) -
2711 で導入されたバックエンドのスナップショット生成スクリプトを基盤として、今回のスクリプトでは各バックエンドに対して および
fake_<backend_name>.pyファイルを生成__init__.pyするようになりました。また、異なるクラウドリージョン(例:us-east 対 eu-de)からバックエンドデータを取得する際に、指定されたアカウントを選択するための新しい-a/--account引数が追加されました。この更新されたスクリプトを使用することで、以下の欠落していたフェイクバックエンドが追加されました:
FakeAachen,FakeBerlin,FakeBoston,FakeBrussels,FakeMiami,FakePittsburgh, およびFakeStrasbourg。 ( 2736 )
アップグレードの注意
- および
RuntimeJobV2.wait_for_final_state()メソッドはRuntimeJobV2.result()、オプションpoll_intervalのパラメータを受け付けるようになりました。これにより、サービスへのリクエスト間隔をカスタマイズできるようになります。 デフォルト値は、セッション外ジョブの場合 秒、0.1セッション内ジョブの場合 秒になりました0.5。 ( 2762 )
非推奨のメモ
-
Python
extrasパッケージはリファクタリングされました:v0.48``commonおよびdocumentationは非推奨となっており、. で削除される予定です。performanceパフォーマンスや機能の向上をもたらす、開発者向けではないオプションの依存関係のために導入されました。- 開発依存関係の粒度がより細かく設定できるようになりました(
style,style_local,test,doc)。また、devextraオプションを使用することで、引き続き完全な開発スイートをインストールすることが可能です。 ( 2707 )
バグ修正
GlobalCatalogV1```GlobalSearchV2 ``のQiskitRuntimeService引数およびssl_verificationはproxies、基盤となる HTTP リクエスト(および、およびIAMAuthenticatorサービスへのリクエスト)に伝播されるようになったため、プロキシを使用する場合でもを正しくインスタンスQiskitRuntimeService化できるようになりました。 ( 2592 )session_id. からセッションを初期化する際に、およびuse_fractional_gatesを指定calibration_idする機能を追加しました。 これにより、既知のバグが修正されました。具体的には、経由 `from_id` でSessionオブジェクトをインスタンス化しても、元のSessionの初期インスタンス化時に設定されたのcalibration_id値や、バックエンドの初期インスタンス化時に設定された `` のuse_fractional_gates値が保持されないという問題です。 ( 2652 )filter``map``NoiseLearner.run()現在、ジェネレータ、ジェネレータ式、およびその他のシングルパス・イテレータを正しくサポートしています。 以前は、これらは最初の型チェック後に使い果たされてしまい、回路数がゼロのジョブが送信される原因となっていました。 ( 2759 )
0.46.1 (2026年3月23日)
バグ修正
- 前回のリリースで、誤って
~=8.0に固定されていたsetuptools_scm問題を修正しました。 バージョン制約を.に戻しました>=6.2。
0.46.0 (2026年3月23日)
その他の注意事項
- Qiskitの必要最小限のバージョンは、現在
2.2.0.です。 ( 2689 )
0.45.1 (2026-02-12)
バグ修正
- バックエンドオブジェクトの作成時、.QiskitRuntimeService は従来、バックエンドの基本ゲート内のゲート
rzzのみをチェックし、キャッシュを使用するか新規バックエンドオブジェクトを作成するかを決定していた。 現在、.QiskitRuntimeService はバックエンドの基本ゲートにおいて ゲートrxとrzzゲートの両方をチェックし、構成を更新するかキャッシュからフェッチするかを決定します。 ( 2524 ) - インスタンスのカタログ情報を取得できない場合(例:インスタンスがアーカイブされている場合)、初期化は
QiskitRuntimeService失敗しなくなりました。 ( 2603 )
0.45.0 (2026-01-08)
新機能
qiskit-ibm-runtimeQiskit との互換性が実現されました。 v2.3- その
delete_job()手法が再導入された。 ( 2541 )
バグ修正
- バックエンドの基底において、フラグ
use_fractional_gates=Trueが ゲートのみRzzではなく、 およびRzzゲートのいずれか、あるいは両Rx方をチェックしてしまう場合のQiskitRuntimeService.backend()バグ修正。 ( 2520 )
その他の注意事項
- Qiskitの最小必要バージョンは、Qiskit
1.xシリーズがサポート終了となったため、2.0.0現在です。 ( 2543 )
0.44.1 (2026年2月12日)
非推奨のメモ
- 空でない値を含む回路
circuit.calibrationsの送信は非推奨となっており、 v0.45qiskit-ibm-runtimeで削除される予定です。 ( 2574 )
バグ修正
- バックエンドオブジェクトの作成時、.QiskitRuntimeService は従来、バックエンドの基本ゲート内のゲート
rzzのみをチェックし、キャッシュを使用するか新規バックエンドオブジェクトを作成するかを決定していた。 現在、.QiskitRuntimeService はバックエンドの基本ゲートにおいて ゲートrxとrzzゲートの両方をチェックし、構成を更新するかキャッシュからフェッチするかを決定します。 ( 2524 ) - インスタンスのカタログ情報を取得できない場合(例:インスタンスがアーカイブされている場合)、初期化は
QiskitRuntimeService失敗しなくなりました。 ( 2603 )
0.44.0 (2025年12月16日)
アップグレードの注意
-
QiskitRuntimeService.backend()でフラグuse_fractional_gates=Trueを設定して、小数点以下のゲートをサポートしていないバックIBMInputValueErrorエンドが要求された場合、 が発生します。 ( 2405 ) -
URL リゾルバーが更新され、および
ibm_cloud``ibm_quantum_platformチャンネルの両方で、同じランタイムエントリポイント URL (https://quantum.cloud.ibm.com/api/v[x]) が生成されるようになりました。以前は、チャンネルibm_cloudでは廃止された URL が生成され、リダイレクトに依存していました。 この変更により、その依存関係が解消され、各チャネルにおける URL の生成が統一されます。 ユーザー向けの変更はありません。 ( 2486 ) -
入力
included_channels引数におけるチャンネルの順序に従い、y軸のdraw_circuit_schedule_timing()チャンネル順序が設定されました。 ( 2492 ) -
に
merge_common_instructions新しい入力引数を追加しました。draw_circuit_schedule_timing()これを に設定するとTrue、時間的な連続性に基づいて同じタイプの命令を結合します。例 ( 2494 ):
from qiskit_ibm_runtime.visualization import draw_circuit_schedule_timing job_result: SamplerPubResult = job.result() circuit_schedule: str = job_result[0].metadata["compilation"]["scheduler_timing"]["timing"] fig = draw_circuit_schedule_timing( circuit_schedule=circuit_schedule, merge_common_instructions=True ) fig.show()
新機能
-
ジョブが送信された際、使用中のインスタンスが上限に達している場合、警告が表示されるようになりました。 ( 2458 )
-
モジュール
fake_providerに「Fake Nighthawk」(FakeNighthawk) バックエンドを追加しました。その結合マップと基底ゲートは実際のナイトホークバックエンドのものと一致するが、その特性は典型的なナイトホークのエラー値を表すことを意図していない。 この偽バックエンドを使用して、例えば、今後のナイトホーク・バックエンドに備えて回路のトランスパイルや最適化を行うことができます。 100量子ビットの正方格子アイジング回路において、10回のトロッターステップで構成された回路は、ヘロンバックエンドと比較して回路深さが600%向上した
FakeNighthawk。 ( 2476 ) -
ConvertMidCircMeasこのqiskit_ibm_runtime.transpiler.passesモジュールには、新しいトランスパイラー・パスが追加されました:。 このパスは、回路内の非終端Measure命令を検出し、それらをターゲットがサポートする回路内測定命令に変換します。 このパスは、2つの引数を用いて構成されています:-
target(必須): サポートされる命令を定義するバックエンドターゲット。 -
mcm_name(任意):使用する回路中間測定命令の名前。デフォルトは
measure_2です。 名前は次の形式に従う必要がありますmeasure_[X](例:measure_3、measure_reset)。
初期化時に、このパスは、指定されたターゲットが、少なくとも1つの量子ビットに対して、指定された回路内測定命令をサポートしていることを検証します。 そうでなければ、構築は失敗します。 実行されると、このパスは以下の処理を行います:
- すでに配線済みの回路上で動作します。
- ターゲットが対応する物理量子ビットでそれをサポートしている場合、非終端
Measure`命令のみが、指定された回路中間測定命令に置き換えられます。
以下のことは行いません:
- これは、端末での測定に代わるものではありません。
- これは、既存の回路中間測定に関する指示(例えば、
measure_2~measure_3)に代わるものではありません。 - 回路中の測定値を端子間の測定値に変換することはありません。
使用例 ( 2317 ):
from qiskit import QuantumCircuit from qiskit.transpiler import PassManager from qiskit.providers.fake_provider import GenericBackendV2 from qiskit_ibm_runtime.circuit import MidCircuitMeasure from qiskit_ibm_runtime.transpiler.passes import ConvertToMidCircuitMeasure from qiskit.transpiler.target import Target # Fake target construction for demo purposes mcm = MidCircuitMeasure() target = GenericBackendV2(num_qubits=2, seed=0).target target.add_instruction(mcm, {(i,): None for i in range(2)}) # Example usage qc = QuantumCircuit(2, 2) qc.measure(0, 0) qc.cx(0,1) qc.measure(1, 1) my_pass = ConvertToMidCircuitMeasure(target) pm = PassManager([my_pass]) new_qc = pm.run(qc) print(new_qc)予期される出力:
┌────────────┐ q_0: ┤0 ├──■───── │ │┌─┴─┐┌─┐ q_1: ┤ Measure_2 ├┤ X ├┤M├ │ │└───┘└╥┘ c_0: ╡0 ╞══════╬═ └────────────┘ ║ c_1: ════════════════════╩═ -
バグ修正
- .
QiskitRuntimeServiceで指定されたプロキシ設定を使用する際のIAM認証バグ修正 このパッチは、クラウド認証(CloudAuth)を使用する場合にIAMTokenManager、QiskitRuntimeServiceからverify``proxiesへの属性と属性を注入します。( 2344 )
その他の注意事項
- 非推奨のメソッド
check_pending_jobs()およびdelete_job()メソッド、ならびに Python 3.9 のサポートは削除されました。 ( 2439 ) - としてオプション入力として
CircuitSchedule追加されましたdraw_circuit_schedule_timing()。 これにより、回路スケジュールのタイミングデータは、その描画機能の外で手動による前処理が可能となります。 ( 2457 )
0.43.1 (2025年10月23日)
アップグレードの注意
- 保存済みのアカウントを使用して初期化する
QiskitRuntimeService際、保存済みのアカウント名(またはデフォルトのアカウント)に関するログメッセージのレベルがwarning、レベルinfoに引き下げられました。 ( 2445 )
0.43 (2025年10月14日)
非推奨のメモ
-
トランスパイラーの解析パスおよびパディングパスに、新しい
target引数 を追加しました:ALAPScheduleAnalysis,PadDelay,PadDynamicalDecoupling,BlockBasePadder。この変更により、これらのパスは Qiskit トランスパイラーの全体的なアーキテクチャと整合するようになり、引数durationsの使用は廃止されます。カスタムスケジューリングパスで使用されるこの
DynamicCircuitInstructionDurationsクラスは、 v0.43 以降qiskit-ibm-runtime、非推奨となりました。 このクラスは、Eagleプロセッサでのスケジューリング処理向けに最適化されていましたが、現在のHeronプロセッサのラインナップにおいては、すでに時代遅れとなっています。 このクラスは、上記のスケジューリングパス(ALAPScheduleAnalysis,PadDelay,PadDynamicalDecoupling,BlockBasePadder)において、引`durations数を定義するために使用されていました。この引数も非推奨となっており、将来のリリースで削除される予定です。 ユーザーの皆様には、``引数targetへの移行をお勧めします。 ( 2403 ) -
RuntimeOptionsクラスは非推奨。 このクラスは本来、カスタム・プログラムでのみ使用されるもので、もはや必要ない。 (2435 )
新機能
-
circuit.libraryこのqiskit_ibm_runtimeパッケージには、circuitとという2つの新しいモジュールが追加されました。 これらのモジュールは、対応qiskitするSDKモジュールの構造を反映するように設計されている一方で、回路オブジェクトや命令についてベンダー固有の実装を提供しています。この新しい回路ライブラリに追加された最初のものは、
MidCircuitMeasure。 このクラスは、measure_<identifier>という命名規則に従った命令の作成を可能にします。この命令は、そのパターンに一致する特定のミッドサーキット測定ハードウェア命令にマッピングされます。 この命令のデフォルト名は"measure_2"。使用例:
from qiskit import QuantumCircuit from qiskit_ibm_runtime.circuit import MidCircuitMeasure measure_2 = MidCircuitMeasure() measure_3 = MidCircuitMeasure("measure_3") qc = QuantumCircuit(1, 1) qc.append(measure_2, [0], [0]) qc.append(measure_3, [0], [0]) qc.measure([0], [0])出力:
┌────────────┐┌────────────┐┌─┐ q: ┤0 ├┤0 ├┤M├ │ Measure_2 ││ Measure_3 │└╥┘ c: ╡0 ╞╡0 ╞═╩═ └────────────┘└────────────┘convert_to_target()ユーティリティが更新され、バックエンド設定ファイルに"instruction_signatures"フィールドが追加されました (configuration.json)。このフィールドは、バックエンドから報告される非単位、非標準の命令を表すためのもので、以下のスキーマを尊重する必要があります:"instruction_signatures" = [ { "name": "measure_2", "num_qubits": 1, "num_clbits": 1, "parameters": [], "return_type": "Bool", "description": "An alternative measurement. This can be used as a mid-circuit measurement in a dynamic circuit. ", }, { "name": "reset_2", "num_qubits": 1, "num_clbits": 1, "parameters": [], "return_type": "Bool", "description": "An alternative reset instruction.", } ]この変更に加え、
convert_to_target()関数はcustom_name_mapping引数を受け付けるようになり、オリジナルのコア実装からadd_delayとfilter_faultyフラグを公開するようになった。 (2316 ) -
calibration_idQiskitRuntimeService.backends()またQiskitRuntimeService.backend()、新しいパラメータが追加されました。 このカスタムキャリブレーションは、ターゲットの構築に使用されるほか、バックエンドでプリミティブジョブを実行する際にも使用されます。 ( 2432 ) -
ジョブ結果のメタデータに返される回路スケジュールのタイミングデータをプロットするための新しい関数
visualization.draw_circuit_schedule_timing()を追加。 これは現在ベータ機能であり、以下のように"scheduler_timing"experimental オプションをTrueに設定する必要がある。 これは現在のところ、Samplerの求人にのみ適用される。sampler = SamplerV2(backend) sampler.options.experimental = { "execution": { "scheduler_timing": True, }, }回路スケジュールデータは、ジョブの結果メタデータから次のようにアクセスできる:
job_result: SamplerPubResult = job.result() circuit_schedule = job_result[0].metadata["compilation"]["scheduler_timing"] circuit_schedule_timing = circuit_schedule["timing"]この関数は、新しい
CircuitScheduleクラスを使用して、Plotly がサポートするインターフェイスを使用してプロットするためのデータのロード、解析、前処理、トレースを行います。 (2328 ) -
IBM Quantum Platform 用の仮想プライベート・エンドポイントがサポートされた。 詳しくは、 仮想プライベートエンドポイントガイドをご覧ください。 (2367 )
-
QiskitRuntimeService.job(). を使用せずに、ジョブのジョブタグを取得できるようになりました。 ( 2420 ) -
ConvertISAToCliffordパスで、分数ゲートを含む回路のクリフォード化がサポートされるようになった。 (2427 )
0.42.0 (2025年9月15日)
バグ修正
- この
QiskitRuntimeService.least_busy()メソッドの動作に一貫性がなかったのは、APIスキーマでは「reason」フィールドがオプションと指定されているにもかかわらず、このメソッドがAPIから固定の応答を期待していたためである。 このフィールドに依存しないようにしたことで、この問題は修正されました。 ( 2411 )
アップグレードの注意
-
インスタンスを指定せずに初期化され、保存済みのアカウントインスタンスが存在しない場合
QiskitRuntimeService、現在のフィルター(tags,region, およびplans_preference)と利用可能なインスタンスの詳細を示す警告が表示されるようになりました。 が設定されていない場合plans_preference、無料プランおよびトライアルプランのインスタンスが、有料プランのインスタンスよりも優先されます。また、現在アクティブなインスタンスをより明確にするための警告も追加された:
- 保存されたアカウントを使用しているのか、手動で指定した認証情報を使用しているのかをユーザーに伝える警告メッセージ。
- Qiskit Runtime、リクエストされたバックエンドのインスタンスが自動的に選択されると、インスタンス名とプランタイプを示す警告が表示されます。
APIトークン(キー)のみを使用して初期
QiskitRuntimeService化できるようになりました。 チャンネルibm_quantum名が削除され、およびibm_quantum_platform``ibm_cloudの両方のチャンネルが同じAPIを指すようになったため、パラメータchannelはもはや必要ありません。ibm_quantum_platformこれがデフォルトのチャンネルです。 ( 2375 ) -
0.32.0でストリーミング結果のサポートが削除されたため、非推奨 (0.38.0) 環境オプションcallbackと、BaseRuntimeJobパラメータclient_paramsとuser_callbackが削除された。RuntimeJobクラスも削除された。 すべてのプリミティブはジョブをRuntimeJobV2として返す。 この変更に伴い、コードベース全体のタイプヒントが更新された。 (2298 ) -
RuntimeJobV2.properties()今後は、ジョブが作成された時点ではなく、ジョブの実行が開始された時点のバックエンドプロパティを取得するようになります。 ( 2369 ) -
初期化とシリアライゼーション間の一貫性を保つため、
QasmBackendConfigurationのrep_times単位変換における不整合を修正しました。to_dict()初期化時に、このパラメータはマイクロ秒から秒へ、また を通じてシリアライズされる際には秒からマイクロ秒へと適切に変換されるようになり、他のタイミングパラメータ(rep_delay_rangeおよびdefault_rep_delay)の動作と一致するようになりました。 ( 2386 ) -
QiskitRuntimeService. に無効な API トークンが渡された場合、サービスの初期化中に一貫したエラーが発生するようになりました。指定されたトークンに関連付けられたアカウントが、指定されたインスタンスへのアクセス権を持っていない場合もエラーが発生します。 これは、
0.40.0のリリースノートで以前文書化されていた動作である。 (2408 )
新機能
-
バックエンドが分数ゲートとダイナミック回路の両方を含むジョブの実行をサポートするようになったため、
use_fractional_gates=Trueを使用しても制御フロー命令がフィルタリングされなくなった。 その結果、動的回路と分数ゲートの両方を持つ回路をターゲットにした、新しい並進状態プラグイン、IBMDynamicFractionalTranslationPlugin。IBMFractionalTranslationPluginは必要なくなったので非推奨。 (2366 )
0.41.1 (2025-08-18)
バグ修正
-
デフォルトの保存済みインスタンスが存在する場合、またはインスタンス名を引数として渡した場合に、/ を作成する際に
Sessionが発生するIBMInputValueError複数のバグを修正しました。Batchさらに、
QiskitRuntimeService.least_busy()パラメータがinstance渡され、かつデフォルトのインスタンスが存在しない場合、nowは最も負荷の低いバックエンドを正しく返すようになりました。 ( 2359 )
0.41.0 (2025年7月24日)
前奏曲
qiskit-ibm-runtime v0.41.0 リリースは、 IBM Quantum Platform Classic の削除と、新しい IBM Quantum Platform のユーザーエクスペリエンスの改善に重点を置いている。 新機能、改善点、細かいバグ修正の中で、リリースのハイライトは以下の通り:
ibm_quantumチャンネルと IQP クラシックはサポートされなくなりました。QiskitRuntimeService.least_busy()は、かなり速い。QiskitRuntimeService.usage()現在のインスタンスの使用制限、使用量、および残り時間に関する情報を返すよう更新されました。
アップグレードの注意
- IBM Quantum Platform Classicが終了したため、
ibm_quantumチャンネルはqiskit-ibm-runtimeからサポートされなくなった。 保存されたibm_quantumチャンネルのアカウントとデータにはアクセスできません。 代わりにibm_quantum_platform。 詳しくはマイグレーションガイドをご覧ください。 (2289 )
新機能
-
tags初期化子およびQiskitRuntimeService.save_account()メソッドQiskitRuntimeServiceに、新しいパラメータ「」が追加されました。tagsこれを使用すると、指定されたタグを持つインスタンスのみが返されるように、インスタンスをフィルタリングできます。さらに、
tags、region、plans_preferenceのフィルターを使用した際に有効なインスタンスが返されなかった場合、初期化時にエラーが発生するようになった。 渡されたtagsとregionの名前が、インスタンスtagsまたはregionと正確に一致することを確認する(大文字と小文字は区別されない)。plans_preferenceの場合、一致するプラン名が渡される限り、一致するプラン名を持つインスタンスが優先される。 (2277 ) -
新しい IBM Quantum Platformへの移行に伴い、 IBM Quantum Platform Classicとの不整合に対処する必要がいくつかあった:
QiskitRuntimeService.usage()現在、アクティブな IBM Cloud インスタンスの使用状況情報を返すようになりました。QiskitRuntimeService.delete_job()新しいプラットフォームではサポートされていないため、非推奨となりました。RuntimeJobV2.instance()は、 IBM Cloud インスタンスCRN を返すようになった。RuntimeJob.queue_usage()は新しいプラットフォームではサポートされないため、非推奨となった。 (2296 )
-
Python 3.9 で
qiskit-ibm-runtimeを実行するサポートは非推奨となり、将来のリリースで削除される予定です。さらに、
qiskit-ibm-runtimeは現在、 Python 3.13 を公式にサポートしている。 (2314 ) -
アカウントを保存する際、
region、plans_preference、tagsパラメータが有効であることを確認するバリデーションチェックが行われるようになりました。 (2319 ) -
新しいメソッドが追加されました。
QiskitRuntimeService.active_instance()このメソッドは、現在アクティブなインスタンスの IBM CloudCRN を返します。この
QiskitRuntimeService.jobs()メソッドが更新され、ジョブのフィルタリングに使用できるパラメータをinstance正しく受け入れるようになりました。 ( 2325 ) -
QiskitRuntimeService.usage()が更新され、[フィールド]がusage_remaining_seconds追加されました。usage_consumed_secondsこのフィールドには、報告usage_limit_secondsされた値またはusage_allocation_seconds(インスタンスの設定に応じて)ととの差分が含まれます。 インスタンスの割り当て制限に関する詳細はこちらをご覧ください。 ( 2329 ) -
refresh()use_fractional_gatesこのパラメータをTrueに設定することで、偽のバックエンドに分数ゲートを含めることができる。 この方法は、実際のバックエンドにアクセスできる場合のみ有効であることに注意。 (2342 ) -
は
QiskitRuntimeService、新しいAPIバージョンを使用するように更新されました。 新バージョンでは、このQiskitRuntimeService.least_busy()メソッドが更新され、改良されたBackendsResponseV2機能を活用できるようになったため、処理速度が大幅に向上しました。 ( 2323 ) -
クラス
TwirledSliceSpanには、整数型の新しいデータメンバーdata_slice_versionがあり、その初期値は 1 です。 2に設定すると、データスライスのタプルには、 PUB のショットに関する情報が含まれ、これTwirledSliceSpan.mask()を使用して返される配列の形状が決定されます。pub_shots最後の軸は切り詰められ、その長さが に短縮されます。 ( 2312 ) -
のシリアライズを追加した。
qiskit.quantum_info.PauliLindbladMap. (2297 ) -
Rzz制約と互換性のある等価な PUB に PUB を変換するために使用できる新しいメソッド
convert_to_rzz_valid_pub()。 現在のところ、この方法はダイナミックな回路をサポートしておらず、グローバルな位相は保持されない。 (2126 )
バグ修正
Batch内のBasePrimitiveバグを修正しました。このバグにより、SessionまたはBatchコンテキストマネージャー内でmodeパラメータを指定せずにインスタンス化されたプリミティブが、またはSessionに渡されたバックエンドを使用する代わりに、サービスから(名前で)バックエンドを取得してしまうという問題がありました。 ユーザーが またはBatchバックエンドSessionを変更した場合(たとえば、ゲートを削除した場合など)、プリミティブは代わりにサービスから変更されていないバックエンドオブジェクトを取得してしまうため、問題が発生する可能性があります。 修正後、 またはBatchのバックエンドオブジェクトがSession直接使用されます。 ( 2282 )basis_gatesバックエンドオブジェクトが更新された後も、`` の変更など、プロパティの変更が保持されてしまう問題を修正しました。IBMBackend( 2283 )- 実行スパン(execution span)のシリアライゼーションを修正し、新しくエンコードされた実行スパンをデコードしようとした際に、旧バージョンの qiskit-ibm-runtime がクラッシュしないようにしました。 ただし、旧バージョンでのデシリアライズでは、実行スパンがオブジェクト
ExecutionSpansの形式ではなく、辞書形式で返されるようになりました。TwirledSliceSpanV2TwirledSliceSpanこの作業の一環として、からフィールドdata_slice_versionも削除しました。パブショットを認識するツイールされたスライススパンは、新しいクラスによって管理されるようになりました。 ( 2347 )
その他の注意事項
None``max_experiments非推奨IBMBackendとなっていた属性、max_shots、および が削除され、 メソッドはIBMBackend.max_circuits()現在 を返すようになりました。 詳細については、ジョブの制限に関するガイドをご覧ください。 ( 2235 )- 非推奨となっていた
IBMBackendおよびFakeBackendV2defaults()メソッドが削除されました。 これらは v0.38.0 のリリースで非推奨となりました。 また、すべての偽バックエンドからPulseのデフォルト設定が削除されました。 ( 2238 ) - span要素に含まれていない PUB に対してが呼び出された際に
ExecutionSpan.mask()返されるエラーメッセージを改善しました。 ( 2311 )
0.40.1 (2025-06-04)
バグ修正
- 初期化時にインスタンスが保存されておらず、また渡されてもいない場合、最初に または
QiskitRuntimeService.backends()が呼び出されるまでQiskitRuntimeService.backend()、サービスがAPI呼び出しを行えないという問題を修正しました。 use_fractional_gatesが設定されているが、バックエンドのコンフィギュレーションが既にキャッシュされている場合、正しくないコンフィギュレーションが返されることがあるバグを修正。 (2269 )
その他の注意事項
- 回路検証中に
rzzゲートの角度が許容範囲(0~ )外であったことに関連するエラーメッセージが更新され、回路で要求された角度値が問題であり、バックエンドから提供された角度値ではないことが明確になった。 (2276 )
0.40.0 (2025年5月28日)
新機能
-
IBM Quantum のプラットフォーム移行に対応するため、以下の変更を行いました:
-
サービス初期化(
QiskitRuntimeService())のために、新しいチャネル・タイプibm_quantum_platformが導入された。これは、既存のibm_quantum(現在は非推奨)とibm_cloudチャネルに加わるものである。 デフォルトでは、チャンネルが指定されていない場合はibm_quantum_platformが選択される。 この新しいチャネルは、新しい IBM Quantum Platform API に接続し、ibm_cloudを置き換えることを目的としています。 その間、ibm_cloudチャンネルは新しいAPIにリダイレクトされるが、継続的な使用は推奨されない。 -
新しいプラットフォーム(および
ibm_quantum_platform、当面の間、ibm_cloudチャンネル)では、アカウントの保存(QiskitRuntimeService.save_account())や初期化(QiskitRuntimeService())に 値はinstance** もはや必要ありません。QiskitRuntimeService.save_account()インスタンスが渡されない場合、バックエンドを取得する際にすべてのインスタンスがチェックされます(service.backend("backend_name"))。インスタンスが に渡された場合、または初期化時に渡された場合は、バックエンドを取得する際のデフォルトのインスタンスとして使用されます。 初期化時に渡されたインスタンスは、アカウントに保存されているインスタンスよりも優先**されます。 -
なお、新しいプラットフォームでアカウントを保存(
QiskitRuntimeService.save_account())または初期化(QiskitRuntimeService())するには、 IBM Cloud APIトークン(token)が必要です。 これはアカウント識別子として扱われ、トークンが作成されたアカウントに関連付けられたリソースへのロックを解除します。 アカウントごとのトークンの一覧はこちらでご確認いただけます。 1つのAPIトークンにつき、1つのアカウントのみ使用可能です。 複数のアカウントを使用する場合は、複数のAPIトークンを作成する必要があります。 -
service.backend(name="...", instance="...")``instanceおよびQiskitRuntimeService.backends()メソッドはQiskitRuntimeService.backend()、バックエンドを取得する際に明示的に渡された を受け入れるよう更新されました:。 -
plans_preference``region初期化子およびQiskitRuntimeService.save_account()メソッドQiskitRuntimeServiceに、新しいパラメータ「」、および「」が追加されました。 これらを使用することで、 CRN を明示的に指定することなく、新しいプラットフォーム上の特定のインスタンス(およびibm_quantum_platform、一時的に、ibm_cloudチャンネル) に優先順位を付けることができます。 より詳しく説明すると:region:地域の優先順位を設定します。us-eastまたはeu-de。plans_preference:口座の種類を優先順に並べたリスト。 リストの最初のタイプのインスタンスが優先される。
例えば、
regionがus-eastとして保存されている場合、us-eastからのインスタンスのみがチェックされる。plans_preferenceが設定されている場合、インスタンスは指定された順序で優先されます。したがって、['Open', 'Premium']では、すべてのオープンプランのインスタンスが優先され、次にすべてのプレミアムプランのインスタンスが優先され、その後に残りのインスタンスが優先されます。plans_preference、プラン名はAPI名と正確に一致しなければならない(大文字と小文字は区別されない)ことに注意。 -
の
QiskitRuntimeService入力パラメータがinstance拡張され、およびibm_cloudチャンネルibm_quantum_platformに対して新しい入力タイプを受け入れるようになりました。 IBM Cloud のリソース名( CRN )に加え、 インスタンス名をインスタンス値として指定できるようになりました。 -
この
instances()メソッドは、すでに有効になっているibm_quantumチャンネルに加え、 およびibm_cloudチャンネルibm_quantum_platformに関連付けられている利用可能なすべてのインスタンスを表示するように拡張されました。以下のコード・スニペットは、上記の変更によって可能になった新しい使用パターンを示している (2239 ):
# save account service = QiskitRuntimeService.save_account( # No channel needs to be specified, ibm_quantum_platform is the default token=token, region="eu-de", # Optional plans_preference=['Open',...], #Optional set_as_default=True #Optional ) # initialize account service = QiskitRuntimeService() # defaults to ibm_quantum_platform account service.backend(name="...") # picks instance based on saved preferences service.backend(name="...", instance="...") # can also explicity pass in an instance to use # initialize account with instance service = QiskitRuntimeService(instance = "...") # sets instance as default instance service.backend(name="...") # only checks default instance, fails if the backend not in the instance service.backend(name="...", instance="...") # can still explicity pass in a different instance # OR # save account with instance service = QiskitRuntimeService.save_account( # No channel needs to be specified, ibm_quantum_platform is the default token=token, instance="..." # This will be the default instance region="us-east", # Optional plans_preference=['Open',...], #Optional set_as_default=True #Optional ) # initialize account service = QiskitRuntimeService() # defaults to ibm_quantum_platform account service.backend(name="...") # only checks saved default instance from save_account service.backend(name="...", instance="...") # can also explicity pass in an instance which takes precendence # initializing account with instance works the same way service = QiskitRuntimeService(instance = "...") # sets instance as default instance, overrides instance from save_account service.backend(name="...") # only checks default instance, fails if the backend not in the instance service.backend(name="...", instance="...") # can still explicity pass in a different instance
-
-
EnvironmentOptionsのprivateオプションがibm_cloudとibm_quantum_platformチャンネルでサポートされるようになった(新しい IBM Quantum Platform)。 このオプションをTrueに設定すると、ジョブはパラメータなしで返され、結果は一度しか取得できません。また、ジョブがプライベートかどうかを返す新しいプロパティ(
private())もある。 (2263 )
バグ修正
target()のdefaults()への呼び出しは、バックエンドのデフォルトがターゲット生成で使用されなくなったため、削除された。 (2261 )
0.39.0 (2025-05-13)
新機能
- QPYサービスの最大対応バージョンは14になりました。 (2231 )
- への
EstimatorV2パブ入力については、オブザーバブルが {I, X, Y, Z} のみを含むパウリ演算で構成されていることを確認する、新たな検証ステップが適用されるようになりました。( 2254 )
バグ修正
- および
SessionクラスBatchに、新しいパラメータcreate_newが追加されました。 このパラメータを使用すると、クラスの初期化時にPOSTセッションAPIエンドポイントを呼び出すかどうかを制御できます。 これは、ユーザー向けのワークフローのほとんどでこの設定が採用されているため、デフォルトでは にTrue設定されています。 ただし、元のセッションがまだ有効な場合に新しいセッションが生成されないようにFalseするには、次のようなSession.from_id()方法があります。.from_id()これにより、. を呼び出した際に複数のセッションが同時に生成されてしまう問題が修正されました。 ( 2195 ) Batchおよび 内のSessionパラメータbackendに対する誤ったOptional型ヒントを削除しました。 ( 2222 )Session.from_id()セッションに既知のバックエンドがない場合、エラーが発生するようになりました。 これは通常、そのセッションでまだジョブが実行されていない場合に当てはまります。 ( 2226 )
その他の注意事項
- IBM Cloud アカウントは、ユーザーから提供されたトークンの代わりに、アクセストークンを使用して Qiskit Runtime API を呼び出すようになりました。 (2102 )
IBMInputValueError既存の親クラスIBMErrorに加え、ValueErrorも継承する。 以前はValueError例外を発生させていた一部の検証関数は、IBMInputValueError例外を発生させるようになった。 (2250 )
0.38.0 (2025年4月15日)
非推奨のメモ
RuntimeJobこれは現在非推奨となっており、このリリースから3ヶ月以上経過した時点で削除される予定です。RuntimeJobすべてのプリミティブ実装において、これにRuntimeJobV2置き換えられたため、この非推奨化によるユーザーへの影響はないはずです。 この2つのクラスの主な違いは、QiskitJobStatusのenumの代わりに文字列を返すという点status()です。 ( 2170 )- パルスゲートはサポートされなくなったため、 および
FakeBackendV2defaults()メソッドはIBMBackend非推奨となり、このリリースから3ヶ月以上経過した時点で削除される予定です。 このメソッドは依然として存在しますが、これらのパルスのデフォルト値は、バックエンドターゲットの構築にはもはや使用されません。 ( 2186 ) ibm_quantumチャンネル・オプションは非推奨で、7月1日に廃止される。 この日以降は、ibm_cloud、ibm_quantum_platform、localのみが有効なチャンネルとなります。ibm_cloudチャンネルの新しい IBM Quantum Platform への移行については、 移行ガイドをお読みください。 (2205 )
新機能
- 偽のバックエンドのコンフィギュレーションから
backend.<attribute_name>を使って直接属性を取得できるようになった。 (2202 )
バグ修正
DoubleSliceSpan.mask()とTwirledSliceSpan.mask()が一次元のスライスを含む場合にエラーとなるバグを修正。 (2184 )
アップグレードの注意
0.32.0でストリーミング結果のサポートが削除されたため、残りの関連するウェブソケットのコードは削除された。 このプロセスの一環として、環境オプションcallbackは廃止され、BaseRuntimeJobのパラメータclient_paramsとuser_callbackも廃止された。 (2143 )
0.37.0 (2025-03-13)
非推奨のメモ
IBMBackend属性max_shotsとmax_experiments、そしてプロパティmax_circuitsはすべて非推奨となりました。 これらの属性値は、以前は1つのジョブで送信できるショットと回路の最大数を表していましたが、現在はそうではありません。 詳細はジョブ・リミット・ガイドを参照。 (2166 )
新機能
-
qiskit-ibm-runtimeは Qiskit 2.0 と互換性があります。 これは、Qiskit 2.0 で削除されたクラスやメソッドも削除されたか、それに応じて処理されたことを意味します。pulse、channel関連の変更点は以下の通り:ChannelIBMBackendメソッドは削除された。- バックエンドの設定クラス
PulseBackendConfigurationは削除され、すべてのバックエンドはQasmBackendConfigurationとして返されるようになりました。 PulseDefaults(バックエンドのデフォルト)を取得することはできますが、バックエンドTargetを作成する際にはもはや必要ありません。
-
プリミティブがセッションまたはバッチコンテキストマネージャの外部で初期化された場合の警告を追加。 このシナリオでは、ジョブはセッションやバッチではなくジョブモードで実行されます。 (2152 )
バグ修正
- Qiskit 2.x によるトランスパイラステージのカスタムスケジューリングのサポートを修正しました。 (2153 )
- ConvertConditionsToIfOps Qiskit 1.x を使用している場合、動的回路のスケジューリングプラグインのすべての最適化レベルで正しく実行されるようになりました。 (2154 )
jobs()を使用してジョブを取得する場合、 v1 と v2 のプリミティブを区別する方法はありません。RuntimeJobV2``0.28.0v1 のプリミティブは6ヶ月以上前に完全に削除されたため、からjobs()返されるジョブは、今後デフォルトで に設定されるようになります。 ( 2156 )
0.36.1 (2025-02-14)
バグ修正
qiskit-aerがインストールされていないとインポートエラーが発生する問題を修正。 (2144 )
0.36.0 (2025-02-14)
アップグレードの注意
-
必要最小限の
qiskitのバージョンは 1.3 になりました。 Qiskit 1.3 QPYバージョン13を発表。 必要なQiskitの最低バージョンは引き上げられ、 Qiskit Runtime、ジョブ提出の回路シリアライズに最新のQPYバージョンを使用できるようになった。 (2096 ) -
以下の古い非推奨事項が削除されました:
- クラウドシミュレーターのシミュレーターオプション
noise_modelのサポートが削除されました。 このオプションはローカルテストモードでも機能する。 NoiseLearnerResultプロパティgeneratorsとratesは削除されました。errorプロパティからアクセスできる。- 効用関数
get_runtime_api_base_url()は削除された。 (2124 )
- クラウドシミュレーターのシミュレーターオプション
0.35.0 (2025-02-04)
アップグレードの注意
- Python 3.8 は2024年10月7日に寿命を迎えた。 Qiskit SDK は
qiskit 1.3で 3.8 のサポートを停止した。 同じように、qiskit-ibm-runtimeはもう Python 3.8 をサポートしていない。 (2097 ) backend.run()。backend.run()を使用している既存のコードを新しい V2 プリミティブ・インターフェイスに移行する手順については、 移行ガイドを参照してください。 (1962)- RZZゲートを持つパラメータ式は、 PUB で割り当てられた値と照合される。 PUB で指定されたパラメータ値が、パラメータ式の評価を無効な角度(負、または
pi/2より大きい)にする場合、IBMInputValueErrorが発生する。 (2093 ) - メンテナンスが停止している場合、
QiskitRuntimeServiceを初期化しようとすると適切なエラーメッセージが表示されます。 (2100 )
新機能
- ローカル・テスト・モードで実行されたジョブは、新しいクラス
LocalRuntimeJobのインスタンスを返すようになりました。 この新しいクラスはQiskitのPrimitiveJobクラスを継承し、BaseRuntimeJobにあるメソッドとプロパティを追加しています。 こうすることで、ローカルテストモードでのジョブの実行は、実際のバックエンドでのジョブの実行により近くなる。 (2057 ) - つの新しいフェイクバックエンド、
FakeFezとFakeMarrakeshが追加された。 これらは156qubitのヘロンデバイスである。 (2112 )
0.34.0 (2024年12月5日)
新機能
-
ZNEを使用した実験からのデータを可視化するために、
draw_zne_evsおよびdraw_zne_extrapolators関数を追加。 対応する可視化関数を呼び出すメソッドdraw_zne_evsとdraw_zne_extrapolatorsを持つEstimatorPubResultを追加。 (1820 ) -
ローカルサンプラーにノイズモデルとレベル1データのサポートを追加
プリミティブが run_options オプションをサポートしている場合(このサポートは Qiskit v1.3 で追加されました)、の
SamplerV2オプションはsimulator.noise_model、run_options 内の noise_model オプションとしてBackendSamplerV2に渡されるようになりました。run_options同様に、がをサポートしている場合、のSamplerV2オプションはexecution.meas_type、のBackendSamplerV2下run_optionsのおよびmeas_returnオプションに変換meas_levelされるようになった。 この変更により、ローカルテストモードにおいてレベル1データのサポートが可能になりました。これまでは、レベル2(機密)データのみがサポートされていました。 ( 1990 ) -
新機能
validate_rzz_pubsが追加された。 この関数は、rzzパラメータが、0とpi/2の間の範囲にあること、数値パラメータ(例えば、rzz(np.pi/4, 0))、およびパブで提供される代用値を持つ境界のないパラメータ(rzz(theta, 0))であることを検証する。 パラメータ式(例:rzz(theta + phi, 0))はまだ検証されていない。 (2021) -
FoldRzzAngle新しいトランスパイラー翻訳プラグIBMFractionalTranslationPluginインとパスを追加しました。 このプラグインは、opt-inuse_fractional_gatesで取得されたバックエンドに対して自動的に適用され、バックエンドのターゲットに gate がRZZ含まれている場合に、折り畳みパスが追加されます。新しいパスは入力量子回路を修正し、すべての
RZZ回路内のゲートの角度パラメータは [0、 pi/2] 以内であり、これは IBM Quantum プロセッサでサポートされています。 (2043 )
アップグレードの注意
-
0.26.0リリースからの非推奨事項は削除された。Session,Batch,Sampler,Estimatorに文字列としてバックエンドを渡すことは、もはや有効ではありません。 代わりに実際のバックエンドオブジェクトを使用してください。- 以前は、セッション・コンテキスト・マネージャが開いていても、
SamplerV2またはEstimatorV2にモードとしてバックエンドを渡すと、ジョブ・モードでジョブが実行されました。 これらのジョブはオープン・セッション内で実行される。 さらに、セッション・バックエンドと異なるバックエンドがモードとして渡されると、エラーが発生する。 Serviceは、SessionおよびBatchでは、もはや有効なパラメータではない。 (2027)
バグ修正
FakeBackendV2.refresh()、バックエンドのプロパティ、デフォルト、設定が常に更新されない問題を修正しました。 (2020)CouplingMapがRuntimeEncoder追加されたため、これで プログラムに引数NoiseLearnerとして渡せるようになりました。 ( 2026 )- の
QiskitRuntimeService.backend()引use_fractional_gates数の挙動が変更されました。Falseこのオプションが に設定されている場合、APIからの構成データおよびプロパティデータから、分数ゲートに関するすべての参照が除外されるようになりました。True同様に、このオプションが に設定されている場合、すべての動的回路命令が構成データおよびプロパティデータから除外されます。 以前は、このオプションはバックエンドのターゲットの作成にのみ影響していたため、ターゲット内の指示が、構成データやプロパティデータ内の指示と一致していませんでした。 概して、この変更はユーザーには影響がないはずですが、すべての命令を含む設定データやプロパティデータに依存しているコードがある場合は、そのコードを更新する必要があります( をNoneに設定use_fractional_gatesすると、フィルタリングを行わずにすべての命令が読み込まれることに注意してください)。 ( 2031 ) - サーバー上のバックエンド設定が無効であったり、存在しなかったりしても、
service.backends()ですべてのバックエンドを取得できなくなることはなくなりました。 (2048 ) pydantic依存バージョンを<2.10に固定し、ビルド・プロセスを壊すリグレッションを回避する。 (2049 )
その他の注意事項
-
requirements.txtとsetup.pyのファイルは削除され、pyprojectを使った新しい依存関係管理アプローチが採用された。 この移行により、開発ワークフローが簡素化される。 依存関係は pyproject.toml ファイルを通して直接管理されるようになった。- qiskit-ibm-runtime の依存関係をインストールするには
pip install -e .を使用します。 pip install -e ".[dev]"を使って、開発依存ファイルをインストールする。pip install -e ".[visualization]"を使用して、視覚化の依存関係をインストールします。 (2053 )
- qiskit-ibm-runtime の依存関係をインストールするには
0.33.2 (2024年11月11日)
バグ修正
- RZZバリデーションでパラメータ式が正しく処理されない問題を修正しました。 (2035)
0.33.1 (2024年11月8日)
その他の注意事項
decode_backend_configuration()にプライベート・エイリアスを追加。 (2028)
0.33.0 (2024年11月7日)
新機能
- 1つ以上の
LayerErrorオブジェクトのスウォームプロットを描画する関数を追加draw_layer_errors_swarm()しました。 また、特定のインスタンスに対して描画関数を呼び出すための便利メソッドdraw_swarm()も追加しました。 ( 1988 ) TwirledSliceSpanサンプラーで「トゥワリング」が有効になっている場合に使用する、をExecutionSpan追加しました。 特に、この関数は、ツイリングのランダム化に対応する追加の形状軸を追跡するとともに、この軸が形状タプルの先頭にあるのか、それともショット軸の直前にあるのかも追跡します。 ( 2011 )
アップグレードの注意
- 残りの偽の V1 バックエンド -
FakeMelbourne、FakePoughkeepsie、FakeTenerife、FakeTokyo、FakeRueschlikonは削除された。 (2012)
バグ修正
draw_execution_spans()機能のホバーテキストの位置を修正。 この修正以前は、間違ったマーカーに描かれていた。 (2014)
0.32.0 (2024年10月30日)
新機能
-
draw_execution_spans()1つ以上のExecutionSpansオブジェクトを可視化するPlotlyの図を作成する関数「」が追加されました。 また、特定のインスタンスに対して描画関数を呼び出すための便利メソッドdraw()も追加しました。 ( 1923 )from qiskit_ibm_runtime.visualization import draw_execution_spans # use the drawing function on spans from sampler job data spans1 = sampler_job1.result().metadata["execution"]["execution_spans"] spans2 = sampler_job2.result().metadata["execution"]["execution_spans"] draw_execution_spans(spans1, spans2) # convenience to plot just spans1 spans1.draw() -
新しいメソッド、
backend.refresh()を追加しました。このメソッドは、現在のバックエンドターゲットをサーバーからの最新のアップデートでリフレッシュします。 (1955) -
DoubleSliceSpan2つのスライスをまとめて処理するための機能をExecutionSpan追加しました。 ( 1982 ) -
、
EstimatorV2SamplerV2、およびnoise_learner.NoiseLearnerには、それぞれ、そのクラスが設定されているバックエンドを返す メソッドbackend()が追加されました。 ( 1995 )
アップグレードの注意
-
0.25.0リリースからの非推奨事項は削除された。optimization_levelは、もはやEstimatorV2の有効なオプションではない。- ジョブメソッド
interim_results()とstream_results()は削除されました。 (1965)
-
QiskitRuntimeServiceのchannel_strategyパラメーターが削除された。 ワークフローでQ-CTRLを使い続けるには、以下のオプションをご検討ください:- お客様の組織に既存の IBM Quantum Premium Plan インスタンスがある場合: Qiskit Functions Catalog にある Q-CTRL Performance Management Function に移行します。
- Qiskit Runtime を IBM Cloud で引き続きご利用いただくには:Q-CTRL Fire Opalへ移行してください。これはQ-CTRLから直接アクセス可能な、同等のパフォーマンス管理製品です。 IBM Cloud のAPIキーと Qiskit Runtime のCRNを Fire Opalに接続できます。 ( 1966 )
0.31.0 (2024年10月15日)
新機能
- Estimatorジョブの期待パフォーマンスを理解するためのクラス、Noisy Estimator Analyzer Tool (NEAT)を追加。 (1950)
- ISAチェックを更新し、
rzzの角度が[0, pi/2]の間であることを検証する。 (1953)
アップグレードの注意
- 偽の V1 バックエンドは削除された。 (1946)
バグ修正
- ISA検証で、コントロール操作内部の接続性に関連する変更が正しく適用されない問題を修正しました。 (1954)
0.30.0 (2024年9月23日)
非推奨のメモ
-
ユーティリティ関数
get_runtime_api_base_urlは非推奨となりました。 代わりにdefault_runtime_url_resolver。 (1914) -
channel_strategyパラメーターは廃止されました。 Q-CTRLパフォーマンス・マネジメント戦略は2024年10月18日をもって廃止される。 ワークフローでQ-CTRLを使い続けるには、以下のオプションをご検討ください:- お客様の組織に既存の IBM Quantum Premium Plan インスタンスがある場合: Qiskit Functions Catalog にある Q-CTRL Performance Management Function に移行します。
- Qiskit Runtime を IBM Cloud で引き続きご利用いただくには:Q-CTRL Fire Opalへ移行してください。これはQ-CTRLから直接アクセス可能な、同等のパフォーマンス管理製品です。 IBM Cloud のAPIキーと Qiskit Runtime のCRNを Fire Opalに接続できます。 ( 1931 )
-
https://github.com/Qiskit/qiskit-ibm-runtime/pull/1933 将来のリリースでは、
JobStatusのインスタンスではなく、RuntimeJob.status()が文字列として返される
新機能
-
ジョブおよびセッションの使用状況に関する情報を返す新しいメソッド
Session.usage()、Batch.usage()、Job.usage()を追加。 詳細はこちらをご覧ください。 (1827 ) -
ConvertISAToClifford回路のゲートをクリフォードゲートに変換するトランスパイルパスを追加。 (1887 ) -
private_endpointコンストラクタにQiskitRuntimeServiceオプションの入力パラメータを追加url_resolverし、指定されたurl、instance、 に基づいて、 Qiskit Runtime API( URL )をカスタマイズして生成できるようにしました。 指定がない場合は、デフォルトのリゾルバーが使用されます。# Define a custom resolver. In this case returns the concatenation of the provided `url` and the `instance` def custom_url_resolver(url, instance, *args, **kwargs): return f"{url}/{instance}" service = QiskitRuntimeService(channel="ibm_quantum", instance="ibm-q/open/main", url="https://baseurl.org" url_resolver=custom_url_resolver) # resulting resolved url will be: `https://baseurl.org/ibm-q/open/main` -
ユーティリティ関数
default_runtime_url_resolverを追加。 (1914) -
QiskitRuntimeService.backend()とQiskitRuntimeService.backends()のuse_fractional_gatesフラグをNoneにすることができる。Noneに設定すると、命令フィルタリングは行われず、返されるバックエンドターゲットには分数ゲートと制御フロー演算の両方が含まれる可能性がある。 (1938)
アップグレードの注意
-
0.24.0リリースからの非推奨事項は削除された。 以下の変更があった。- SamplerとEstimatorの引数backendとsessionは削除され、"mode "に置き換えられました
- プリミティブな
Sessionプロパティは、次のように置き換えられました。mode - 完全な辞書構造を持たないオプションの指定はサポートされなくなりました
Job.program_id()に置き換わっている。Job.primitive_id()Service.run()とSession.run()、プライベート・メソッドに置き換えられた、_run()Service.backend()で、"name "は必須パラメータになったService.get_backend()は削除され、backend()(1907) に置き換えられた
バグ修正
- 分数ゲートを持つセッション・コンテキストでプリミティブを実行できないバグを修正。(1922)
0.29.1 (2024年9月17日)
新機能
NoiseLearnerResultをエンコード、デコードするロジックを追加した。 (1908 )
0.29.0 (2024年9月4日)
非推奨のメモ
- シミュレータ・オプション
noise_modelは、実デバイス上で実行されるジョブでは非推奨となりました。noise_modelローカル・テスト・モードを使用する場合にも、このオプションは有効である。 (1892 )
新機能
ExecutionSpanSet新しいクラスとして、ExecutionSpanおよびを追加しました。 これらのクラスは、プリミティブ結果のメタデータ内で、バッチジョブの開始時刻および終了時刻に関する情報を伝達するために使用されます。 ( 1833 )EnvironmentOptionsの下に新しいprivateオプションを追加。 (1888 )- ZNE エクストラポレーターに
fallbackオプションを追加。 (1902 )
バグ修正
0.15.0で削除されたため、qiskit-aerからNoise_model.from_dict()メソッドを移植した。 (1890 )backend.target、ターゲットがキャッシュされなくなっていた以前の変更を戻す。 (1891 )Session.from_id()が新しい空のセッションを作成する問題を修正しました。 (1896 )
0.28.0 (2024-08-15)
新機能
ResilienceOptionsV2は新しいフィールドlayer_noise_modelを持っている。 このフィールドが設定されている場合、ノイズデータを必要とするすべての軽減策は、ノイズ学習ステージをスキップし、代わりにlayer_noise_modelから必要な情報を収集する。 (1858 )
アップグレードの注意
- V1 のプリミティブ および
SamplerV1は完全に削除EstimatorV1されました。 V2 プリミティブの使用方法については、「 プリミティブの概要 」を参照してください。 ( 1857 ) serviceパラメーターがSession.from_id()で必要になった。 (1868 )
0.27.1 (2024年8月12日)
新機能
PauliLindbladErrorとLayerErrorをエンコードおよびデコードするロジックを追加した。 (1853 )
0.27.0 (2024年8月8日)
新機能
- レイヤーのノイズ処理を表現するために、
PauliLindbladErrorとLayerErrorクラスを追加。 (1844 )
バグ修正
- セッションで航空シミュレーターとローカルサービスモードを使用する際の問題を修正しました。 (1838 )
0.26.0 (2024年7月31日)
非推奨のメモ
Session,Batch,EstimatorV2,SamplerV2に文字列としてバックエンドを渡すことは非推奨となりました。 代わりに実際のバックエンドオブジェクトを使用してください。 (1804 )SamplerV2およびEstimatorV2のモードとしてバックエンドを渡すと、SessionまたはBatchコンテキストマネージャの内部であってもジョブモードでジョブが実行されます。 この動作は非推奨であり、将来のリリースではセッション/バッチが優先されます。 (1816 )Session,Batchでserviceを渡すことは非推奨となった。 バックエンドからサービスを抽出できるため、serviceパラメーターはもはや必要ない。 (1826 )BackendPropertiesやBackendConfigurationを含むqiskit.providers.modelsのバックエンドモジュールは Qiskit 1.2 で非推奨となっているため、qiskit-ibm-runtimeにコピーされています。 これらのクラスを使用するには、必ず最新バージョン(0.26.0)にアップグレードしてください。 (1803 )
新機能
-
メソッド
properties、defaults、configuration、check_faultyがFakeBackendV2に追加された。 (1765 ) -
QiskitRuntimeService.Session.from_id()で作成されたセッションでジョブが実行され、そのセッションがすでに終了している場合、ジョブは即座に拒否されます。 (1780 ) -
ジョブの入力パラメータはキャッシュされなくなりました。 これらのパラメータは大きな回路を含むことがあり、自動的にメモリに保持されるべきではない。 (1783 )
-
QiskitRuntimeLocalServiceはローカルテストモードをサポートするために作られた。 別のクラスを初期化する手間を省くため、有効なQiskitRuntimeService・チャンネルとして "local "が追加された。service = QiskitRuntimeService(channel="local")は
QiskitRuntimeLocalServiceインスタンスを返す。 (1793 ) -
オープンプランでジョブを実行する際、保留中のジョブ数の上限に達した場合に警告が表示されるようになりました。 サービスはまた、新しいジョブを投入する前に、最も古い保留中のジョブの実行終了を待とうとする。 (1794 )
-
NoiseLearnerおよびNoiseLearnerOptionsやNoiseLearnerResultsなどの関連機能を追加した。 (1805)
バグ修正
- すべての回路がISAに準拠しているかチェックされる。 このチェックの一環として、バックエンドがサポートしていない命令が検出されるとエラーが発生する。 以前は、一部の命令(制御フロー操作の本体内にある命令)がスキップされるバグがあった。 このリリースでバグを修正しました。 (1784 )
IBMBackend.target_history()を呼び出すとバックエンドのターゲットがキャッシュされ、その後IBMBackend.target()を呼び出すとそのキャッシュされたターゲットが誤って返される問題を修正しました。 (1791 )- 他の関連オプションを使用しているときに、
zne_mitigationまたはpec_mitigationがTrueに設定されているかどうかをチェックするためのオプション検証は削除されました。 (1792 ) - Python ライブラリ
simplejsonが環境にインストールされている場合、ユーザーがジョブ結果を取得できない問題を修正しました。 (1800 )
0.25.0 (2024年7月2日)
非推奨のメモ
EstimatorV2のoptimization_levelオプションは非推奨。 代わりに、QiskitトランスパイラまたはQiskitトランスパイラサービスを使用して回路の最適化を実行できます。 (1748 )qiskit_ibm_runtime.RuntimeJobV2.interim_results()qiskit_ibm_runtime.RuntimeJobV2.stream_results()、、 はすべて非推奨。qiskit_ibm_runtime.RuntimeJob.interim_results()qiskit_ibm_runtime.RuntimeJob.stream_results()(1776 )
新機能
QiskitRuntimeLocalServiceにbackend、backends、least_busyメソッドを追加。 (1764 )- ジョブが実行されたインスタンスを返す
instanceプロパティをBaseRuntimeJobに追加しました。 (1771 ) default_shotsは、EstimatorV2をローカルテストモードで使用する際にサポートされるオプションになりました。 (1773 )
0.24.1 (2024年6月18日)
バグ修正
- バックエンドターゲットが制御フローを除外しないように、デフォルトで分数ゲートを許可しないようにした。 (1755 )
0.24.0 (2024年6月10日)
非推奨のメモ
-
namebackend() の必須パラメータになります。backend()すべてのバックエンドのうち最初のバックエンドを返さなくなりました。name提供されていません。 (1147 ) -
カスタムプログラムの削除後、以下のメソッドは非推奨となり、名称が変更されました。
qiskit_ibm_runtime.QiskitRuntimeService.run()は非推奨となり、プライベートメソッドqiskit_ibm_runtime.QiskitRuntimeService._run()に置き換えられる。qiskit_ibm_runtime.Session.run()は非推奨となり、プライベートメソッドqiskit_ibm_runtime.Session._run()に置き換えられる。qiskit_ibm_runtime.RuntimeJob.program_id()は非推奨で、qiskit_ibm_runtime.RuntimeJob.primitive_id()に置き換えられる予定です。 (1238 ) -
Sampler および Estimator の
backend引数は非推奨となりました。 代わりにmodeをご使用ください。 Sampler および Estimator のsession引数も非推奨となりました。 代わりにmodeをご使用ください。 ( 1556 ) -
qiskit_ibm_runtime.QiskitRuntimeService.get_backend()が非推奨になりました。 代わりにこちらをご利用くださいqiskit_ibm_runtime.QiskitRuntimeService.backend()。FakeProviderForBackendV2FakeBackendV1 のフェイクバックエンド、および はFakeProvider、 V2 のフェイクバックエンドおよび に置き換えられるため、非推奨となります。 ( 1689 ) -
完全な辞書構造を持たないオプションの指定は非推奨である。 代わりに、完全に構造化された辞書を渡す。 例えば、
{'log_level': 'INFO'}の代わりに{'environment': {'log_level': 'INFO'}}を使う。 (1731 )
新機能
-
実行モードに関連して、サンプラーとエスティメーターに
mode引数が追加された。modeパラメータには、Backend、Session、Batch、または None を指定できる。 その結果、バックエンド名は非推奨となり、有効な実行モードとしてはサポートされなくなった。 (1556 ) -
ZneOptions.amplifierオプションが追加され、これらの文字列のいずれかを指定できるようになった:
"gate_folding"(デフォルト)は、ノイズを増幅するために2量子ビットのゲートフォールディングを使用する。 ノイズ要因がゲートの一部だけを増幅する必要がある場合、これらのゲートはランダムに選ばれる。"gate_folding_front"は、2量子ビットのゲートフォールディングを使ってノイズを増幅する。 ノイズファクターがゲートの一部だけを増幅する必要がある場合、これらのゲートはトポロジー的に並べられたDAG回路の前面から選択される。"gate_folding_back"は、2量子ビットのゲートフォールディングを使ってノイズを増幅する。 ノイズ要因がゲートの一部だけを増幅する必要がある場合、これらのゲートはトポロジー的に順序付けられたDAG回路の後ろから選択される。 (1679 )
-
アカウントを保存する際、
private_endpointという新しいパラメータがあり、これをTrueに設定すると、ユーザーはプライベートな IBM Cloud API に接続できるようになる。 このパラメータは、サービスが初期化されるときにも使用できる(例:QiskitRuntimeService(private_endpoint = True))。 (1699 ) -
IBMBackend. に、フラクショナルゲートをサポートする新しいオプトイン機能が追加されました。 IBM バックエンドは現在、動的回路と分数ゲートのみをサポートしており、これら2つの機能は同じプリミティブ・ジョブ内で併用することはできません。 さらに、推定子プリミティブで使用できるPECやPEAなどのエラー軽減プロトコルの中には、分数ゲートを用いたゲート・トゥワリングに対応していないものがある場合があります。 Qiskit Targetモデルではこのような制約が表現されていないため、我々は「オプトイン」方式を採用しました。この方式では、バックエンドがオプトインされている(されていない)場合、バックエンドターゲットには分数のゲート(制御フロー命令)のみが含まれます。QiskitRuntimeServiceこの機能は、. からターゲットバックエンドを取得する際に制御されます。from qiskit_ibm_runtime import QiskitRuntimeService backend = QiskitRuntimeService(channel="ibm_quantum").backends( "name_of_your_backend", use_fractional_gates=True, )[0]分数機能が有効な場合、トランスパイル回路は、従来の IBM ベースゲート(例えば [sx、rz、ecr] )と比べて、奥行きが短くなる可能性がある。
制御フロー命令を使う場合、例えば
if_else、 実行可能なISA回路を得るためには、分数ゲート機能を無効にする必要があります。 命令セットの選択は、今やユーザーの責任である。このパターンは、将来の開発で IBM バックエンドが更新されたときに、非推奨になることなく修正または削除される可能性があることに注意してください。 (1715 )
-
これで、[ ] の
qiskit_ibm_runtime.options.EstimatorOptions実験的オプションを使用して、推定ジョブに対して確率的誤差増幅(PEA)という誤差低減手法を有効にできるようになりました。 ( 1728 ) -
Qiskit バージョン
1.1がサポートされ、必須となりました。 (1700 )
アップグレードの注意
QiskitRuntimeService.backends()現在では、同じクエリを使用した場合でも、常に新しいIBMBackendインスタンスが返されるようになりました。 バックエンドのプロパティおよびデフォルト値のデータは、各インスタンスが初めてアクセスされる際にサーバーから取得されますが、設定データはサービスインスタンス内に内部的にキャッシュされます。 ( 1732 )
バグ修正
- ジョブが V2 プリミティブで実行された場合でも、 job() および jobs() でジョブを検索すると
RuntimeJobインスタンスしか返されない問題を修正しました。 これで、 V2 プリミティブ・ジョブは、RuntimeJobV2インスタンスとして正しく返される。 (1471 ) - 長時間のジョブ処理中のネットワーク中断を避けるため、ウェブソケットエラーが発生しなくなりました。 (1518 )
PadDynamicalDecouplingの およびcoupling_mapオプションinsert_multiple_cyclesの組み合わせに関する問題を修正しました。sequence_min_length_ratiosこの組み合わせにより、によって設定された閾値を超える各遅延において、複数のシーケンスサイクルを含む段階的な動的デカップリングを選択することが可能となる。 ( 1630 )- ジョブのメタデータをデコードするとエラーになるシリアライゼーションの問題を修正しました。 (1682 )
- Samplerでデフォルトで有効になっている測定ツワーリングのdocstringが誤って表示されていたのを修正。 (1722 )
- 入れ子になった実験的サブオプションが実験的でないサブオプションを上書きするように修正。 (1731 )
- バックエンドのutilsメソッド
convert_to_targetがQiskitの convert_to_target メソッドに置き換えられた。 これにより、ターゲット生成とキャリブレーションデータに関するいくつかの問題が修正された。 (1600 )
0.23.0 (2024年4月15日)
非推奨のメモ
- backend.run () は非推奨となった。 代わりにプリミティブを使ってください。 詳細はマイグレーションガイドをご覧ください。 (1561 )
- 将来のリリースでは、 from_id() の
serviceパラメータが必要になる。 (1311 )
新機能
OptionsとOptionsV2を印刷すると、表形式になります。 (1490 )BaseDynamicCircuitAnalysisBlockBasePadder,,PadDynamicalDecouplingPadDelay, および に引数を追加block_ordering_callableします。 これにより、ユーザーは任意のアルゴリズムを用いてブロックを構築することができます。 がblock_ordering_callable生成する出力の妥当性については、いかなる仮定も検証も行われません。 この主張の根拠は、ある種の回路のファミリーについては、既存の関block_order_op_nodes数が非常に処理に時間がかかる場合があるという点にある。 ( 1531 )- SamplerとEstimator V2 プリミティブが強化され、channel_strategy プロパティが "q-ctrl "に設定されている場合、カスタム検証手順を組み込むことができるようになった このカスタマイズされた検証ロジックにより、誤った入力オプションが効果的に修正され、Q-CTRLのパフォーマンス向上機能が誤って無効化されるのを防ぐことができます。 (1550 )
SamplerV2「トゥワリング」に対応しました。 Twirling は、条件付きロジックに関与していない測定レジスタにのみ適用されます。 ( 1557 )- Session details() に新しいフィールド
usage_timeが追加されました。 使用量とは、量子システムがジョブを完了させるためにコミットしている時間のことである。 (1567 )
バグ修正
RuntimeJobV2APIが不明なステータスを返しても、エラーが発生しなくなります。 その代わりに、APIからのステータスが直接返されます。 ( 1476 )/jobsリクエストでカスタムヘッダが送信されないバグを修正。 (1508 )ParameterExpressionのエンコード/デコードに関するバグを修正。 (1521 )- の
RuntimeJobV2in_final_state() メソッドが呼び出された際にステータスが更新されない問題を修正しました。 ( 1547 )
0.22.0 (2024年3月21日)
アップグレードの注意
PadDynamicalDecouplingコンストラクタのオプションフラグを次のように変更しますskip_reset_qubits。Falseもしそうであれば、量子ビットの状態にかかわらず、回路の冒頭にある遅延であっても、動的デカップリングが適用される。 このオプションは、Qiskit の動作と一致するようになりました。 ( 1409 )
新機能
- 新しいローカルテストモードが追加された。 これにより、量子プローラムを物理システムに送信する前に、それを検証することができる。 プリミティブまたはセッションをインスタンス化する際に、
qiskit_ibm_runtime.fake_providerの偽のバックエンドまたは Qiskit Aer バックエンドインスタンスのいずれかが使用されると、ローカルテストモードが有効になります。 (1495 )
バグ修正
EstimatorV2のresilience_level=0の設定が無視される(代わりにデフォルト値が使用される)バグを修正。 (1541 )
0.21.2 (2024年3月18日)
バグ修正
RuntimeDecoderが任意のクラスをインポートできるバグを修正。 (1527 )
0.21.1
バグ修正
- エイリアスの定義方法に問題があったため、
SamplerV1とEstimatorV1がインポートできなかったバグを修正。
0.21.0
アップグレードの注意
- ターゲットのハードウェア定義と一致しない回路は、 Qiskit Runtime プリミティブではサポートされなくなりました。ただし、
channel_strategy="q-ctrl"を使用する場合はこの限りではありません。 回路を変換する方法については、トランスパイルのドキュメント( transpile )を参照してください。また、演算子の変換と組み合わせて使用する方法については、プリミティブの例( run/primitives-examples )を参照してください。
非推奨のメモ
-
将来のリリースでは、
ibm_cloudチャンネルを使用する場合でも、sessionが指定されていない場合、backendはqiskit_ibm_runtime.Samplerの必須パラメータとなり、qiskit_ibm_runtime.Estimatorは の必須パラメータとなる。また、
qiskit_ibm_runtime.Sessionとqiskit_ibm_runtime.Batchの必須パラメータとなる。
バグ修正
IBMBackend.targetで、サポートされているコントロールフロー操作(IfElseOp、WhileLoopなど)を誤って除外していた問題を修正 バックエンドがサポートしている場合。FakeProviderForBackendV2.backend()、偽のバックエンドを取得すると型エラーが発生するバグを修正。- ISA回路のチェックを修正し、パルスゲートとレイアウトを持たない回路を許可するようにした。
0.20.0
新機能
-
dd_barrierオプション入力を PadDynamicalDecoupling コンストラクタにオプション入力を追加し、動的にデカップリング(dd)を適用する回路を特定できるようにした。 この文字列が回路のバリアラベルに含まれている場合、ddはその文字列で終わる遅延に適用される(同じ量子ビットに適用される)。 -
Python 3.12 がサポートされるようになった。
-
セッションは、異なる実行モードを可能にする新しい
/sessionsエンドポイントで開始されます。 バッチモードはBatchでサポートされ、 セッションは以前と同じように機能します。 詳しくはラン/セッションをご覧ください。このリリース以前に
qiskit-ibm-runtimeから作成されたSessionおよびBatchは、2024年3月31日以降はサポートされなくなりますのでご注意ください。 この日までに、qiskit-ibm-runtimeのバージョンをできるだけ早く更新してください。また、セッションでのシミュレーターの使用はサポートされなくなった。 ユーザーは問題なくシミュレーターでセッションを開始できますが、実際にはセッションは作成されません。 セッションIDはない。
-
qiskit_ibm_runtime.IBMBackend.open_session () で開始されたセッションは新しい
/sessions終点。セッションの機能に変更はありませんが、このリリース以前の
backend.run()セッションは、2024年3月31日以降はサポートされなくなりますのでご注意ください。 この日までに、qiskit-ibm-runtimeのバージョンをできるだけ早く更新してください。
非推奨のメモ
- 対象のハードウェア定義に合致しない回路については、2024年3月1日以降、サポートされなくなります。 回路を変換する方法については、トランスパイルのドキュメント( transpile )を参照してください。また、演算子の変換と組み合わせて使用する方法については、プリミティブの例( run/primitives-examples )を参照してください。
バグ修正
- 制御フローを持つ回路をスケジューリングする際の命令持続時間の割り当てを修正。 この修正以前は、内部ブロック上の命令のインデックスが外部ダグの物理インデックスにマッピングされていなかった。
その他の注意事項
PadDelayのコンストラクタでも、InstructionDurationsdurations の入力が必要になった。
0.19.1
アップグレードの注意
DynamicCircuitInstructions.from_backend()を拡張して、BackendV1とBackendV2の両方のオブジェクトから持続時間を抽出してパッチする。 また、DynamicCircuitInstructions.from_target()を追加し、Targetオブジェクトを代わりに使うようにした。
バグ修正
dtの単位でない継続時間を持つ命令のDynamicCircuitInstructionsのパッチを修正。qpy.dump()関数の問題を修正しました。use_symengineフラグがTrueに評価される真理値オブジェクトに設定されていましたが、実際にはブール値Trueではなかった場合、生成されたQPYペイロードが破損していました。
0.19.0
アップグレードの注意
- qiskit-ibm-providerは廃止予定なので、qiskit-ibm-runtimeの依存関係ではなくなります。
- qiskit-ibm-runtime は 1.0.0 を含む Qiskit バージョン >= 0.45 と互換性があります。
0.18.0
新機能
- 動的回路をサポートするバックエンドのフィルタリングを可能にするため、 backends() に新しいパラメータdynamic_circuitsを追加した。
IBMBackend.open_session()にmax_timeパラメーターを追加。- バックエンドからキュー情報を取得するメソッド
RuntimeJob.queue_info()を追加。 この機能はqiskit_ibm_providerから引き継がれた。
非推奨のメモ
QiskitRuntimeService.runtime()は非推奨となった。
バグ修正
- の多くのメソッドは RuntimeJob の多くのメソッドは、
job_get()で API からジョブデータを取得する必要があります。 qiskit_ibm_runtime.RuntimeJob.inputs() においてのみ必要であるため、このAPIコールはデフォルトでparamsフィールドを除外するようになった。
0.17.0
新機能
- ジョブが実行された時点でのジョブのバックエンドプロパティを返す新しいメソッド properties() を追加しました。
- details() に新しいフィールドactivated_atが追加され、これはセッションが activeに変更されたときのタイムスタンプである。
バグ修正
-
instanceパラメータで単一のバックエンドを検索した場合、service.backend('ibm_torino', instance='ibm-q/open/main') # raises error if torino is not in ibm-q/open/main but in a different instance # the user has access to service = QiskitRuntimeService(channel="ibm_quantum", instance="ibm-q/open/main") service.backend('ibm_torino') # raises the same errorバックエンドがインスタンスになく、ユーザがアクセスできる別のインスタンスにある場合は、エラーが発生します。 初期化時にインスタンスが渡され、そのインスタンスに含まれないバックエンドが取得された場合にも同じエラーが発生するようになりました。
-
いくつかのバックエンドのcoupling_mapを取得すると、 NameError.
0.16.0
前奏曲
セッションはスレッドセーフになり、複数の同時インタラクティブ実験が可能になった。
新機能
- セッションがスレッドセーフになった。
アップグレードの注意
- カスタムプログラムの使用に関するメソッドが削除された。
バグ修正
q-ctrlがchannel_strategyとして渡されていない状態で、q-ctrlが有効になっているクラウドインスタンスが使用された場合、エラーが発生します。
0.15.1
バグ修正
- from_id() に対する 0.15.0 の変更は、適切な非推奨化を伴わない破壊的な変更であったため、元に戻した。
0.15.0
新機能
-
新しいモジュール qiskit_ibm_runtime.fake_provider が追加され、 IBM Quantumデバイスのスナップショットから派生した一連の偽のバックエンドにアクセスできるようになった。 この機能はもともと
qiskit.providers.fake_providerモジュールによって提供されていたが、間もなく非推奨となり qiskit_ibm_runtime.fake_provider.偽のバックエンドによって提供されるスナップショットは、トランスパイラのローカルテストや、実際のデバイス上で実行する前にシステムのローカルノイズシミュレーションを実行するのに便利です。 ここでは、移調とシミュレーションのために偽のバックエンドを使用する例を示す:
from qiskit import QuantumCircuit from qiskit import transpile from qiskit_ibm_runtime.fake_provider import FakeManilaV2 # Get a fake backend from the fake provider backend = FakeManilaV2() # Create a simple circuit circuit = QuantumCircuit(3) circuit.h(0) circuit.cx(0,1) circuit.cx(0,2) circuit.measure_all() # Transpile the ideal circuit to a circuit that can be directly executed by the backend transpiled_circuit = transpile(circuit, backend) # Run the transpiled circuit using the simulated fake backend job = backend.run(transpiled_circuit) counts = job.result().get_counts() -
backend.run()のサポートを追加した。 機能はqiskit-ibm-providerに似ている。 -
channel_strategyとしてq-ctrlが渡され、アカウント・インスタンスがq-ctrlを有効にしていない場合、初期化時にエラーが発生する。 -
RuntimeJob._resultsに結果を保存することを削除した。 その代わり、results()メソッドが呼ばれるたびに結果を取得する。
非推奨のメモ
- アカウント情報のための
~/.qiskit/qiskitrc.jsonファイルの使用は廃止されました。 代わりに~/.qiskit/qiskit-ibm.json。
バグ修正
- キャンセルされたジョブや失敗したジョブがタイプエラーとなる無効な結果を返し、実際のエラーがユーザーに返されない問題を修正しました。
- DE環境が使用されている場合、すべての機能がサポートされていないため、初期化時に警告が表示されます。
- セッションが複数のバックエンドをサポートしないため、 from_id() の
backendパラメータは廃止される。 さらに、serviceパラメーターはオプションではなくなった。 - Estimatorと Samplerの
circuit_indicesとobservable_indicesrun入力は完全に削除されました。
その他の注意事項
backend.runをqiskit_ibm_providerの代わりにqiskit_ibm_runtimeで実行するための移行コードを追加した。
0.14.0
新機能
- 新しいクラス
qiskit_ibm_runtime.Batch。 qiskit_ibm_runtime.Session と同じように動作する新しいクラスがありますが、複数のジョブを一度に投入することをより良くサポートするように、後で更新される予定です。 Optionsでは、任意のキーと値は使用できなくなりました。
非推奨のメモ
- qiskit-ibm-runtime 0.14.0 より、カスタムプログラムは非推奨となり、2023年11月27日に削除される予定です。 ユーザーは、代わりに Qiskit Serverless を使用して、独自のプログラムを Qiskit Runtime プリミティブが使用できるように変換することができます。
0.13.0
新機能
-
セッションに関する情報を返す新しいメソッド details() が追加されました。このメソッドには、セッションの最大時間、アクティブな残り時間、現在の状態、セッションがジョブを受け付けているかどうかなどが含まれます。
また、セッションの現在のステータスを返す status() も追加された。
-
初期化時に、直接渡されなかった場合、プロバイダーによって選択されたデフォルトの
instanceが「INFO」レベルでログに記録される。 ジョブを実行する際、選択したバックエンドがデフォルトのインスタンスではなく、ユーザーもアクセスできる別のインスタンスにある場合、そのインスタンスもログに記録されます。
アップグレードの注意
-
qiskit_ibm_runtime.Session.close () が更新され、
Session、新規求人の受付を終了しました。 セッションはそれ以上のジョブを受け付けないが、キューに入れられたジョブはそれが終了するか、最大時間が終了するまで実行し続ける。 これは、セッションコンテキストマネージャーが終了したときにも自動的に起こる。 ジョブを受け入れていないセッションが実行するジョブを使い果たした場合、そのセッションは即座に閉じられ、バックエンドはインタラクティブなタイムアウトを待つのではなく、より多くのジョブを実行するために解放されます。古いcloseメソッドの動作は、新しいメソッド、 qiskit_ibm_runtime.Session.cancel ()に移動されました。このメソッドでは、セッション内でキューに入れられたすべてのジョブがキャンセルされ、終了されます。
バグ修正
- numpy型として渡された
shotsが正しくシリアライズされないバグを修正。 - target_history() で、指定された日付からバックエンドのプロパティを取得するために datetime パラメータが使用されていなかったバグを修正しました。
0.12.2
新機能
channel_strategyを使用する場合、そのchannel_strategyをサポートするバックエンドのみがユーザーからアクセス可能となる。- アカウントjsonファイルにデフォルトアカウントを定義するオプションを追加。 アカウントをデフォルトとして選択するには、
QiskitRuntimeService.save_account()でset_as_default=Trueを定義する。 - 与えられたidで新しいセッションを作成する新しいメソッド
Session.from_idを追加。 - ユーザーがシステム実行時間の月間クォータ(10分)を超過すると予測されるジョブを投入した場合、警告が表示されるようになりました。 これは、インスタンス
ibm-q/open/mainの実際のハードウェア上で実行されるジョブにのみ適用されます。 もしジョブがクォータを超えてしまった場合、そのジョブはキャンセルされる。
アップグレードの注意
- ジョブエラーメッセージにエラーコードが含まれるようになりました。 エラーコードはエラーの中に見つけることができる。
0.12.1
新機能
- ユーザーは、新しい環境変数
USAGE_DATA_OPT_OUTを使って、この値をTrueに設定することで、ユーザー・モジュールの使用状況追跡をオプトアウトすることができる。 さらに、qiskitまたはqiskit_で始まるすべてのモジュールの代わりに、特定のqiskitモジュールだけが追跡されます。 - の
channel_strategyパラメーターにdefaultを渡すことができるようになった。 qiskit_ibm_runtime.QiskitRuntimeService. アカウントに特定のチャネル戦略が設定されている場合、ユーザーはdefaultを渡すことでそれを上書きすることができます。 - :class:qiskit_ibm_runtime.QiskitRuntimeService、channel_strategyプロパティが "q-ctrl "に設定されている場合、SamplerとEstimatorプリミティブが強化され、カスタム検証手順が組み込まれた このカスタマイズされた検証ロジックにより、誤った入力オプションが効果的に修正され、Q-CTRLのパフォーマンス向上機能が誤って無効化されるのを防ぐことができます。
バグ修正
- properties() によるバックエンド・プロパティの取得が、過去の日付からプロパティを取得するために
datetimeパラメータを渡すことに対応しました。 qiskit_ibm_runtime.options.ResilienceOptionsのnoise_factorsとextrapolatorオプションは、resilience_levelが 2 に設定されていない限り、Noneがデフォルトになるようになった。 レジリエンス・レベルに関連するオプションのみが設定されるため、resilience_level2 を使用する場合、noise_factorsのデフォルトは(1, 3, 5)のままとなり、extrapolatorのデフォルトはLinearExtrapolatorとなる。 さらに、Noneの値を持つオプションはサーバーに送信されなくなった。- ジョブエラーメッセージがすべて大文字で返されなくなりました。
- max_execution_timeオプションが、壁時計時間ではなく、システム実行時間に 基づくようになった。 システム実行時間とは、システムがジョブの処理に専念している時間のことです。 ジョブがこの制限時間を超えると、強制的にキャンセルされる。 シミュレーターの仕事は、引き続き壁掛け時計の時間を使用する。
0.12.0
新機能
-
global_serviceを追加し、ユーザーが QiskitRuntimeService, を定義した場合、そのサービスが明示的に渡されなくても、プリミティブで使用されるようにした。 例:from qiskit_ibm_runtime import QiskitRuntimeService, Sampler service = QiskitRuntimeService(channel="ibm_quantum") # Sampler._service field will be initialized to ``service`` sampler = Sampler(backend="ibmq_qasm_simulator") -
新しいメソッド、 qiskit_ibm_runtime.QiskitRuntimeService.instances() を追加。このメソッドは、ユーザーが参加しているすべてのインスタンス(ハブ/グループ/プロジェクト)を返します。
ibm_cloudチャンネルは複数のインスタンスを持たないので、これはibm_quantumチャンネルのみである。 -
つまり、回復力、シミュレーター、実行、移行のそれぞれについて、そのオプションがサポートされているかどうかをチェックする。 さもなければ例外を投げる。
-
新しいパラメータがあります。
channel_strategyこれは qiskit_ibm_runtime.QiskitRuntimeService の初期化時に設定するか、 qiskit_ibm_runtime.QiskitRuntimeService _account() に保存することができます。channel_strategy設定されているq-ctrlサービス内のすべてのジョブは Q-CTRL エラー軽減戦略を使用します。
アップグレードの注意
- 回路およびその他の入力パラメータは、ランタイム・ジョブに自動的に保存されなくなりました。 qiskit_ibm_runtime.RuntimeJob.inputs() で取得できます。
非推奨のメモ
noise_amplifierレジリエンス・オプションは非推奨。 非推奨期間終了後は、ローカルな折りたたみ増幅のみがサポートされる。 グローバルフォールディング増幅については https://github.com/qiskit-community/prototype-zne を参照のこと。
バグ修正
- ibm_cloud" チャネルで実行する場合、バックエンドを指定しないことも可能です。 この場合、システムはこのサービスで利用可能なバックエンドの1つを選択する。 問題番号 625 https://github.com/Qiskit/qiskit-ibm-runtime/issues/625
job.backend()が返すバックエンドが、ジョブが実行された実際のバックエンドとは限らないという問題が報告されました。 このPRはこのバグを修正するものである。 - test_job.py の test_cancel_running_job() で、ジョブ・キャンセルを実行できなかった競合状態を修正した。 詳しくは#1019 <https://github.com/Qiskit/qiskit-ibm-runtime/issues/1019> ㊤をご参照ください。
- 以前はジョブの実行時に、回路数がそのバックエンドの最大値(
backend.max_circuits)を超えないかどうかの検証を加えていた。 セッション内で実行されるプリミティブでは、この制限は必要ない。
0.11.3
新機能
- error_message() メソッド起動時の失敗理由を追加した。
- 推定システム実行時間(
quantum_seconds)を返す新しいプロパティ usage_estimation() が追加された。 システム実行時間は、システムがジョブの処理に専念している時間を表します。 _run_primitive()に渡された回線数がバックエンドでサポートされている回線数を超えている場合は例外を発生させる。- ジョブの
job_tagsを更新するために使用できる新しいメソッド update_tags() が追加された。 instance、 qiskit_ibm_runtime.QiskitRuntimeServiceのパラメータとして提供される場合、これはQiskitRuntimeService.backends()、フィルターとして使用される。instance、プロバイダーのインスタンスとして認識されない場合は、例外が発生する。 これまでは警告だけだった。
0.11.2
新機能
-
ジョブがキャンセルされ、 job.result ()が要求された場合、Noneを返すのではなく、例外を投げる。
-
新しいメソッド qiskit_ibm_runtime.options.SimulatorOptions.set_backend() により、バックエンドのシミュレータ・オプションをより簡単に設定できる。
from qiskit.providers.fake_provider import FakeManila from qiskit_aer.noise import NoiseModel # Make a noise model fake_backend = FakeManila() # Set options to include the noise model options = Options() options.simulator.set_backend(fake_backend) options.simulator.seed_simulator = 42
バグ修正
- IBMBackend をディープコピーしようとしたときの無限再帰を修正した。
qiskit_ibm_runtime.IBMBackend.deepcopy()メソッドを追加。 - サーキットのメタデータが正しくシリアライズされず、型エラーが発生する問題を修正。
0.11.1
非推奨のメモ
- qiskit_ibm_runtime.RuntimeJob.metrics() では、bssフィールドはusageに置き換えられる。
0.11.0
新機能
-
qiskit_ibm_runtime.IBMRuntimeService.job()でジョブを取得する場合、API からparamsが返されなくなりました。 代わりに、 qiskit_ibm_runtime.RuntimeJob.inputs() で実際に必要になったときに、のろのろと読み込まれる。 -
QiskitRuntimeService.run にバックエンドがアクティブでない場合の警告を追加。
-
シミュレータ・オプションとして指定された場合、
CouplingMap型の入力をサポートする。 これまで私たちは、例えばこんなことをサポートしてきた:options.simulator = {"coupling_map": [[0, 1], [1, 0]]}現在、我々は以下もサポートしている:
options.simulator = {"coupling_map": CouplingMap.from_line(10)}
アップグレードの注意
- にバックエンド名またはバックエンドインスタンスを渡すと、デフォルトセッションは開かれなくなります。 qiskit_ibm_runtime.Sampler あるいは qiskit_ibm_runtime.Estimator コンストラクタに渡すと、デフォルトセッションは開かれなくなります。 プリミティブはセッションなしで実行される。 さらに、
sessionパラメータ(セッションを渡すために引き続き使用可能)の代わりに、backendパラメータを使用してバックエンド名またはインスタンスを渡す必要があります。 - の最初のパラメータは qiskit_ibm_runtime.Sampler と qiskit_ibm_runtime.Estimator コンストラクターの最初のパラメーターは
sessionではなくbackendになった。
非推奨のメモ
- を初期化する際に、
sessionパラメータにバックエンド名またはバックエンドインスタンスを渡します。 qiskit_ibm_runtime.Sampler あるいは qiskit_ibm_runtime.Estimator を初期化する際にバックエンド名やバックエンドインスタンスをパラメータに渡すことは推奨されません。 代わりにbackendパラメータを使用してください。 引き続き、sessionパラメーターを使ってセッションを渡すことができる。
0.10.0
新機能
- Python 3.11 がサポートされるようになった。
アップグレードの注意
- ユーザーが'max_execution_time'にサポートされていない値を定義した場合の エラー・メッセージを追加した。 以前は、この検証はサーバー側で行われていた。
バグ修正
- RuntimeJob.inputsのparamsのデシリアライズを追加。 以前は、回路はシリアル化されたフォーマットで返されていた。 問題 #829を修正しました。
- バックエンドの1つに設定がない場合でも、ユーザーがすべてのバックエンドを取得できるようにする。 設定のないバックエンドは返されません。
0.9.4
新機能
transpilationとenvironmentのオプションに、入力オプションを検証するメソッドを追加した。
アップグレードの注意
- バックエンドを構築する際、
qiskit.transpiler.Target、バックエンドのコンフィギュレーションから欠陥のある量子ビットとゲートがフィルタリングされる。
非推奨のメモ
-
非推奨の引数
circuits、parameters、service、skip_transpilationは Samplerから削除されました。同様に、非推奨の引数
circuits、observables、parameters、service、skip_transpilationも Estimatorから削除された。QiskitRuntimeServiceで、
authパラメーターが削除されました。 さらに、 qiskit_ibm_runtime.QiskitRuntimeService.run() から、instance、job_tags、max_execution_timeパラメータが削除された。代わりにRuntimeOptionsから渡すことができる。Within
RuntimeOptionsbackend_name。 代わりにbackend。
バグ修正
noise_modelまたはseed_simulatorオプションのないバックエンドからジョブを取得すると、キーエラーが発生するバグを修正しました。
0.9.3
アップグレードの注意
- ユーザーが'optimitation_level'または'resilience_level'にサポートされていない値を定義した場合のエラーメッセージを追加した。
resilienceに入力されたオプションのバリデーションチェックを追加した。 以前は、この検証はサーバー側で行われていた。 クライアント側に追加することで、失敗時のレスポンスが格段に速くなる。 バリデーションの制御には環境変数QISKIT_RUNTIME_SKIP_OPTIONS_VALIDATION。 設定された場合、バリデーションはスキップされる。 - バックエンドの設定が QiskitRuntimeService が初期化されたときに その代わりに、 get_backend() と backends() の間だけ設定がロードされ、キャッシュされます。
バグ修正
- Option オブジェクトを作成し、入力オプションを
resilience_optionsに渡すと、このオプションはresilience_optionsに含まれたが、他のデフォルトのオプションは削除された。 これは修正され、他のオプションタイプと同様に入力が正しく処理されるようになった。
0.9.2
新機能
- program_runメソッドに
session_timeという新しい引数を追加し、qiskit_ibm_runtime.RuntimeOptions。 これで、ユーザーがセッションmax_timeに入力した値は、session_timeとしてサーバー側に送られる。 これにより、ユーザーはセッションmax_timeとmax_execution_timeに異なる値を指定することができる。 - target_history() メソッドを追加した。このメソッドは target() に似ています。新しいメソッドでは、ユーザがバックエンドから過去のデータを取得するために datetime パラメータを渡すことができる点が異なります。
アップグレードの注意
- レベル 1 で指定されたすべてのオプションを受け入れ、適切な階層オプション・タイプに割り当てる。 例えば、Sampler/Estimatorへの入力として
options = {"shots": 10}を指定すると、options = {"execution: {"shots": 10}}と解釈される。 - ジョブがバックエンドなしで返された場合、 qiskit_ibm_runtime.RuntimeJob.backend() によってバックエンドを取得すると、サーバーからデータを再取得し、バックエンドの更新を試みます。 の非推奨属性であった
job_idとbackendは削除された。 qiskit_ibm_runtime.RuntimeJob は削除されました。 - ユーザーがオプションでサポートされていないオプションを渡した場合に警告を表示するようにした。
バグ修正
optimization_levelとresilience_levelのデフォルト値が正しく設定されていなかったバグを修正。- バックエンドが選択されていない場合、
optimization_levelとresilience_levelのデフォルトがNoneになり、ジョブが失敗する問題を修正しました。 - qiskit_ibm_runtime.QiskitRuntimeService.get_backend() にインスタンスが渡され、そのバックエンドがセッションで使用される場合、セッション内のすべてのジョブは渡された元のインスタンスから実行される。
- JSONエンコーダーで
BlueprintCircuitsの追加分解を削除。 これはバグフィックスとして導入されたが、その後修正された。 それでもまだ分解を続けていると、分解された回路がバックエンドの正しい基底セットに含まれなくなった場合、問題が発生する可能性があった。
0.9.1
アップグレードの注意
-
qiskit_ibm_runtime.QiskitRuntimeService.jobs() に
backend_nameパラメータが追加され、指定したバックエンドで実行されたジョブのみを返すようになりました。 -
ユーザーがパラメータで指定したファイルにアカウント詳細を保存できるようにする。
filename. デフォルトは ~/.qiskit/qiskit-ibm.json のまま。 使用例:例QiskitRuntimeService.save_account(channel="ibm_quantum", filename="~/my_account_file.json", name = "my_account", token="my_token") service = QiskitRuntimeService(channel="ibm_quantum", filename="~/my_account_file.json", name = "my_account",)
非推奨のメモ
backendqiskit_ibm_runtime.Session.run () を使用する場合、このオプションはサポートされなくなりました。セッションは複数のクロスバックエンドをサポートしません。 さらに、オプションを通して渡されたバックエンドが、アクティブなセッションの元のセッションバックエンドと一致しない場合は例外が発生します。
バグ修正
ECRGateとCZGateのマッピングがTargetコンストラクタに追加され、トランパイルのバグが修正された。
その他の注意事項
- 失敗したジョブからのエラーメッセージは長いかもしれないので、メッセージの最後の
Tracebackから始まるように短くした。
0.9.0
アップグレードの注意
qiskit_ibm_runtime.Optionsのoptimization_levelとresilience_levelのデフォルト値を変更。 それらの値がユーザーによって定義されたものである場合、それらは変更されない。 設定されていない場合、バックエンドがノイズレス・シミュレータであれば、optimization_levelは 1 に、resilience_levelは 0 に設定される。そうでなければ、それぞれ 3 と 1 に設定される。- ジョブの session_id と job_tags を簡単に返すために session_id() と tags() が追加された。
バグ修正
- セッションが終了する前に実行されなかったジョブが、そのセッションの一部として実際に実行されないバグを修正しました。 セッションがコンテキスト・マネージャーの終了によって閉じられても、ジョブはセッションの一部として実行されるべきである。
- 書き込み操作のタイムアウトにより、大きなジョブの投入に失敗する問題を修正しました。
0.8.0
新機能
- Python 3.10 がサポートされるようになった。
options.resilienceで高度な回復力オプションを設定できるようになった。 利用可能なすべてのオプションについては、qiskit_ibm_runtime.options.ResilienceOptionsを参照。- qiskit_ibm_runtime.QiskitRuntimeService.run() メソッドの
result_decoderパラメーターに、結果デコーダーのペアを指定できるようになった。 ペアが指定された場合、最初のものが中間結果のデコードに使われ、2番目のものが最終結果のデコードに使われる。
アップグレードの注意
- デフォルトの
resilience_levelオプションが0から1に変更された。 さらに、デフォルトのoptimization_levelオプションが1から3に変更された。
非推奨のメモ
- トランスパイルオプション
translation_methodとtiming_constraintsは廃止された。
バグ修正
- もし qiskit_ibm_runtime.IBMBackend インスタンスが qiskit_ibm_runtime.Session インスタンスがコンストラクタに渡された場合は、 デフォルトのアカウントサービスではなく
IBMBackendインスタンスの初期化に使われたサービスが セッションに使われます。
0.7.0
新機能
qiskit_ibm_runtime.Optionsクラスが任意のキーワード引数を受け付けるようになった。 これにより、qiskit_ibm_runtimeをアップグレードすることなく、プリミティブ・プログラムに新しいオプションを指定することができる。 しかし、これらの任意のキーワード引数は検証されない。- この qiskit_ibm_runtime.options.EnvironmentOptions クラスは
callbackパラメータを受け付けるようになった。 このパラメータは、プリミティブの中間結果と最終結果をストリーミングするために使用できる。 qiskit_ibm_runtime.Optionsクラスは、max_execution_timeを第一レベルのオプションとして、job_tagsをenvironmentの下のオプションとして受け付けるようになった。qiskit_ibm_runtime.RuntimeOptionsこの2つのパラメータも更新された。
アップグレードの注意
- このバージョンのqiskit-ibm-runtimeにはqiskit-terraバージョン 0.22 以上が必要です。 それに伴い、
requirements.txt。
非推奨のメモ
- Qiskit Runtime
torch-train、、、、 の各プログラムは、使用率が低いため非推奨となりました。torch-infersample-expvalsample-programquantum_kernal_alignment - qiskit_ibm_runtime.QiskitRuntimeService.run() に
instanceパラメータを渡すことは非推奨となった。 代わりに、optionsパラメーターの中にinstanceパラメーターを渡すことができる。 - にパラメータとして
job_tagsとmax_execution_timeを渡すことは廃止されました。 qiskit_ibm_runtime.QiskitRuntimeService にパラメータとして渡すことは推奨されません。options.
バグ修正
- ハウツーガイドに欠けていた求人の検索に関するセクションを修正。
0.7.0rc2
アップグレードの注意
Sampler.run()にバリデーション・チェックを追加。 クラシック・ビットがない場合はエラーとなる。- サンプラーは更新され、
QuasiDistrbutionのリストとしてSamplerResult.quasi_distsを持つSamplerResultを返す。 以前はdictのリストをSamplerResult.quasi_distsとしていたが、SamplerResultの設計には従っていない。 - この RuntimeJob クラスは
qiskit.providers.Jobのサブクラスとなった。
非推奨のメモ
job_idのbackend。 qiskit_ibm_runtime.RuntimeJob 属性は廃止されました。 代わりに qiskit_ibm_runtime.RuntimeJob.job_id() と qiskit_ibm_runtime.RuntimeJob.backend() メソッドを使用してください。qiskit_ibm_runtime.RuntimeOptionsのbackend_name属性は非推奨となり、backendで置き換えられる。
0.7.0rc1
前奏曲
セッション内でプリミティブを呼び出す方法と、プリミティブで利用可能なオプションに大きな変更があります。 リリースノートとチュートリアルの残りの部分をご覧ください。
新機能
-
同一または異なるプリミティブ・プログラムをセッション内で複数回呼び出せるようになった。 例:
from qiskit_ibm_runtime import QiskitRuntimeService, Session, Sampler, Estimator, Options from qiskit.test.reference_circuits import ReferenceCircuits from qiskit.circuit.library import RealAmplitudes from qiskit.quantum_info import SparsePauliOp # Initialize account. service = QiskitRuntimeService() # Set options, which can be overwritten at job level. options = Options(optimization_level=1) # Prepare inputs. bell = ReferenceCircuits.bell() psi = RealAmplitudes(num_qubits=2, reps=2) H1 = SparsePauliOp.from_list([("II", 1), ("IZ", 2), ("XI", 3)]) theta = [0, 1, 1, 2, 3, 5] with Session(service=service, backend="ibmq_qasm_simulator") as session: # Submit a request to the Sampler primitive within the session. sampler = Sampler(session=session, options=options) job = sampler.run(circuits=bell) print(f"Sampler results: {job.result()}") # Submit a request to the Estimator primitive within the session. estimator = Estimator(session=session, options=options) job = estimator.run( circuits=[psi], observables=[H1], parameter_values=[theta] ) print(f"Estimator results: {job.result()}") -
新しい
qiskit_ibm_runtime.Options。 このクラスでは、プリミティブ・プログラムに関連するオプションをオートコンプリートすることができます。 例:from qiskit_ibm_runtime import Session, Sampler, Options from qiskit.test.reference_circuits import ReferenceCircuits options = Options() options.optimization_level = 3 # This can be done using auto-complete. with Session(backend="ibmq_qasm_simulator") as session: # Pass the options to Sampler. sampler = Sampler(session=session, options=options) # Or at job level. job = sampler.run(circuits=ReferenceCircuits.bell(), shots=4000) -
qiskit_ibm_runtime.RuntimeJob に新しいメソッド metrics() が追加されました。このメソッドは、タイムスタンプ情報を含むジョブのメトリクスを返します。
-
を環境変数として保存できるようになった。 qiskit_ibm_runtime.QiskitRuntimeService
channelを環境変数QISKIT_IBM_CHANNELとして保存できるようになった。 このように、ランタイム・プリミティブを使用する場合、サービスを手動でインスタンス化する必要はなく、代わりに環境変数から直接作成することができます。
アップグレードの注意
-
ジョブの実行時間が長すぎる場合、
RuntimeJobMaxTimeoutError。 -
class:` qiskit_ibm_runtime.Sampler とコンストラクタへの実験的パラメータ
transpilation_settings,resilience_settings,max_timeが削除されました。 qiskit_ibm_runtime.Estimator コンストラクタへの実験的パラメータが削除されました。 代わりに、qiskit_ibm_runtime.Optionsクラスを使って設定を指定することができる。max_timeは、新しいセッションを開始するときに指定できる。 例:from qiskit_ibm_runtime import Session, Sampler, Options options = Options() # This can be done using auto-complete. option.optimization_level = 3 options.resilience_level = 1 with Session(max_time="2h") as session: # Pass the options to Sampler. sampler = Sampler(session=session, options=options) -
アカウントによっては多くのランタイム・プログラムがあるため、
programs()の最初の呼び出しですべてのプログラムのリストをキャッシュすることは削除された。 その代わり、与えられたlimit(デフォルト値は20)までしかプログラムはキャッシュされない。
非推奨のメモ
-
呼び出し qiskit_ibm_runtime.Sampler と qiskit_ibm_runtime.Estimator をコンテキスト・マネージャーとして呼び出すことは非推奨となった。 その代わりに、 qiskit_ibm_runtime.Session クラスを使用して新しいセッションを作成し、セッション内で 1 つ以上のプリミティブを呼び出すことができます。
その結果、
circuits、observables、parameter_values、serviceなどの入力パラメータを、SamplerとEstimatorのコンストラクタに渡すことも非推奨となった。serviceプリミティブ・クラスのrun()メソッドに入力を渡すことができるようになった。 qiskit_ibm_runtime.Session に渡すことができます。 -
class: ` qiskit_ibm_runtime.Sampler とコンストラクタに
skip_transpilationを渡すことは非推奨です。 qiskit_ibm_runtime.Estimator コンストラクタに渡すことは非推奨になりました。 代わりに、qiskit_ibm_runtime.Optionsクラスを使ってこのオプションを指定することができます。 例:from qiskit_ibm_runtime import Options options = Options() # This can be done using auto-complete. options.transpilation.skip_transpilation = True
バグ修正
qiskit-ibm-runtimeの最新バージョンは0.20.0またはそれ以前のqiskit-terraと互換性がないため、qiskit-terraの最低必要バージョンを0.21.0に引き上げることで問題 #428 を修正した。
0.6.0
アップグレードの注意
-
qiskit-ibmq-providerから移行する場合、ibm_quantumチャンネルの認証情報は qiskitrc ファイルから自動的にコピーされ、 qiskit-ibm.json ファイルが存在しない場合は作成されます。 パラメータを渡さずに QiskitRuntimeServiceibm_quantumクラスを初期化しなければならない。例:
from qiskit_ibm_runtime import QiskitRuntimeService service = QiskitRuntimeService() -
IBMEstimatorクラスは廃止された。 今後は Estimator クラスを使用する。 -
IBMRuntimeServiceクラスは廃止された。 使用 QiskitRuntimeService クラスを使用する。
0.5.0
前奏曲
このリリースでは、APIとキューの機能強化を活用して、よりランタイムセッションを意識したものになっています。 その結果、プリミティブ(サンプラーとエスティメーター)を使用する場合、同じセッションのランタイム・ジョブはキューの先頭にスキップされ、いったん開始したランタイム・セッションを高速化することができる。
新機能
-
クラスのインスタンスである
serviceオブジェクトは QiskitRuntimeService クラスのインスタンスであるserviceオブジェクトに IBMBackend クラスから プロパティを使ってアクセスできるようになりました。例:
backend = service.get_backend("ibmq_qasm_simulator") backend.service # QiskitRuntimeService instance used to instantiate the backend
アップグレードの注意
-
jobs() には、
created_afterとcreated_beforeという2つのパラメータが追加された。 これらは、現地時間での作成日付でジョブをフィルターするために使用できる。 -
estimatorを呼び出す際のパラメータcircuit_indicesとobservable_indicesは現在非推奨であり、将来のリリースで削除される予定である。circuitsとobservablesパラメータを使って、インデックスまたはオブジェクトを渡すことができるようになった。例:
with Estimator( circuits=[qc1, qc2], observables=[H1, H2, H3], service=service, options=options ) as estimator: # pass circuits and observables as indices result = estimator(circuits=[0, 1], observables=[0, 1], parameter_values=[theta1, theta2]) # pass circuits and observables as objects result = estimator(circuits=[qc1, qc2], observables=[H1, H3], parameter_values=[theta1, theta3]) -
estimatorを呼び出す際のパラメータcircuit_indicesとobservable_indicesは現在非推奨であり、将来のリリースで削除される予定である。circuitsとobservablesパラメータを使って、インデックスまたはオブジェクトを渡すことができるようになった。例:
with Sampler( circuits=[qc1, qc2], service=service, options=options ) as sampler: # pass circuits as indices result = sampler(circuits=[0, 1], parameter_values=[theta1, theta2]) # pass circuit as objects result = sampler(circuits=[qc1, qc2], parameter_values=[theta2, theta3]) -
ランタイムセッションの最初のジョブのジョブIDである
session_idは、 jobs() の中で、パラメータsession_idを持つフィルターとして使用できるようになった。 -
run() が新しいパラメータ
job_tagsをサポートしました。 これらのタグは、 jobs() でジョブをフィルタリングする際に使用できます。 -
run() では、デフォルトのプログラム最大実行時間をオーバーライドするための新しいパラメー タ、
max_execution_timeがサポートされるようになった。 プログラムの最大実行時間以下でなければならない。 -
jobs() には新しいパラメータ
descendingが追加された。 このパラメータのデフォルトはTrueで、作成日の降順でジョブが返されます。 -
RuntimeJobTimeoutErrorは、 result() または wait_for_final_state() で設定されたtimeoutが切れたときに発生するようになった。 -
初期化時に QiskitRuntimeService が初期化され、無効なトークンが使用された場合、
RequestsApiErrorの代わりにIBMNotAuthorizedErrorが発生します。 -
IBMSamplerクラスは廃止された。 今後はサンプラークラスを使用する。 -
qubit_properties() は、
IBMQubitPropertiesというQubitPropertiesのサブ・クラスを返すようになり、 t1、 t2、QubitPropertiesクラスがすでに公開している周波数に加えて、非調和性を公開する。
0.4.0
アップグレードの注意
-
IBMRuntimeServiceQiskitRuntimeSericeIBMRuntimeServiceクラスは現在非推奨であり、将来のリリースで削除される予定です。例:
前:
from qiskit_ibm_runtime import IBMRuntimeService service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...")後:
from qiskit_ibm_runtime import QiskitRuntimeService service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") -
IBMEstimatorクラスは非推奨となり、将来のリリースで削除される予定です。 今後は Estimator クラスを使用する。例:
前:
from qiskit_ibm_runtime import IBMRuntimeService, IBMEstimator service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") estimator_factory = IBMEstimator(service=service, backend="ibmq_qasm_simulator") with estimator_factory(circuits=[qc], observables="...", parameters="...") as estimator: result = estimator(circuit_indices=[0], ...)後:
from qiskit_ibm_runtime import QiskitRuntimeService, Estimator service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") with Estimator( circuits=[qc], observables="...", parameters="...", service=service, options={ "backend": "ibmq_qasm_simulator" }, # or IBMBackend<"ibmq_qasm_simulator"> ) as estimator: result = estimator(circuit_indices=[0], ...) -
IBMSamplerクラスは非推奨となり、将来のリリースで削除される予定です。 今後はサンプラークラスを使用する。例:
前:
from qiskit_ibm_runtime import IBMRuntimeService, IBMSampler service = IBMRuntimeService(channel="ibm_cloud", token="...", instance="...") sampler_factory = IBMSampler(service=service, backend="ibmq_qasm_simulator") with sampler_factory(circuits=[qc], parameters="...") as sampler: result = sampler(circuit_indices=[0], ...)後:
from qiskit_ibm_runtime import QiskitRuntimeService, Sampler service = QiskitRuntimeService(channel="ibm_cloud", token="...", instance="...") with Sampler( circuits=[qc], parameters="...", service=service, options={ "backend": "ibmq_qasm_simulator" }, # or IBMBackend<"ibmq_qasm_simulator"> ) as sampler: result = sampler(circuit_indices=[0], ...)
非推奨のメモ
IBMRuntimeServiceIBMEstimatorおよび クラスは非推奨となり、将来のリリースで削除される予定です。IBMSampler代わりに QiskitRuntimeService、 Estimator、 Sampler クラスを使用してください。 例による詳しい説明は、アップグレードノートのセクションをご覧ください。
0.3.0
アップグレードの注意
- 新しいパラメータ
channelがqiskit_ibm_runtime.IBMRuntimeServiceクラスとsave_account()、saved_accounts()、delete_account()などのメソッドに追加された。 これは、ibm_quantumまたはibm_cloudに設定することで、 Qiskit Runtime サービスが現在提供されている2つの異なるチャネルのいずれかに認証することができる。channelは、authパラメータに取って代わる。
非推奨のメモ
qiskit_ibm_runtime.IBMRuntimeServiceクラスや、save_account()、saved_accounts()、delete_account()などのメソッドへのauthパラメーターは非推奨となり、将来のリリースで削除される予定です。 代わりに新しいchannelパラメータを使用してください。
バグ修正
- サンプラーや推定プリミティブに単一の
QuantumCircuitを渡すとエラーになっていた #291を修正。
0.2.0
新機能
qiskit_ibm_runtime.IBMEstimatorとqiskit_ibm_runtime.IBMSamplerのクラスで、estimatorとsamplerのプリミティブ・プログラムと簡単にやりとりできるようになった。 使い方の詳細については、各クラスのドキュメント文字列の例を参照してください。
バグ修正
- ジョブが既に完了し、 qiskit_ibm_runtime.RuntimeJob.status() が事前に呼び出された場合、 qiskit_ibm_runtime.RuntimeJob.wait_for_final_state() が NoneType エラーになるバグを修正した。
0.1.0
前奏曲
qiskit-ibm-runtime は、 Qiskit Runtime Service を介して IBM Quantum の量子プログラム、システム、シミュレータにアクセスするための新しい Python API クライアントです。
この新しいパッケージは、qiskit-ibmq-provider パッケージの qiskit.providers.ibmq.runtime モジュールで既に行われた作業を基に構築されており、今後はこれを置き換えます。 qiskit-ibmq-provider パッケージのランタイムモジュールは非推奨となりました。
qiskit-ibm-runtime は Qiskit メタパッケージの一部として含まれていないため、 pip install qiskit-ibm-runtime を使用して個別にインストールする必要があります。
新機能
qiskit_ibm_runtime.IBMRuntimeService.least_busy()を使えば、最も暇なバックエンドを見つけることができる。
アップグレードの注意
-
qiskit-ibm-runtimeパッケージは、資格情報を保存するためにqiskit-ibmq-providerによって使用されるthe $ HOME/.qiskit/qiskitrc fileを使用しなくなった。 HOME/.qiskit/qiskit-ibm.json
qiskit_ibm_runtime.IBMRuntimeService.save_account()メソッドを使用した場合、認証情報がJSON形式で保存されるようになりました。複数のクレデンシャルを保存し、それぞれのクレデンシャルに任意の名前を付けることができるようになりました。
-
Qiskit Runtime サービスには、 IBM Quantum(レガシー)アカウントまたは IBM Cloud (クラウド)アカウントを使用してアクセスできます。 qiskit-ibm-runtimeを使用すると、これらのアカウントのいずれかに接続できます:
# Legacy from qiskit_ibm_runtime import IBMRuntimeService service = IBMRuntimeService(auth="legacy", token="abc") # Cloud from qiskit_ibm_runtime import IBMRuntimeService service = IBMRuntimeService(auth="cloud", token="abc", instance="IBM Cloud CRN or Service instance name") -
qiskit_ibm_runtime.IBMBackend クラスは
qiskit.providers.BackendV2インターフェイスを実装するようになり、バックエンドのコンフィギュレーションなどへのアクセスがより簡単になりました:# BackendV1: backend.configuration().n_qubits # BackendV2: backend.num_qubitsBackendV1、唯一の変更点は backend.name、メソッドではなく属性になったことだ。
利用可能な属性の一覧は qiskit_ibm_runtime.IBMBackend クラスのドキュメント文字列を参照してください。
-
qiskit-ibmq-provider パッケージで qiskit.providers.ibmq.AccountProvider.get_backend メソッド (たとえば
provider.get_backend("ibmq_qasm_simulator")) を使用していた場合、この新しいパッケージで同等のメソッドはqiskit_ibm_runtime.IBMRuntimeService.backend()です:service = IBMRuntimeService() backend = service.backend("ibmq_qasm_simulator") -
従来の IBM Quantumアカウントに接続する際、ハブ/グループ/プロジェクトを前もって指定することが任意になりました。 ハブ/グループ/プロジェクトは以下の順番で選択される。
- 初期化時に
instanceパラメータで渡される場合、 hub/group/projectqiskit_ibm_runtime.IBMRuntimeService - を呼び出すときに指定したバックエンドが必要とする特定のハブ/グループ/プロジェクト。
qiskit_ibm_runtime.IBMRuntimeService.run() - を経由して以前に設定されたデフォルト
qiskit_ibm_runtime.IBMRuntimeService.save_account() - アカウントのプレミアムハブ/グループ/プロジェクト
- オープンアクセス・ハブ/グループ/プロジェクト
- 初期化時に
-
クラウド・ランタイム( IBM Cloud のみ)を使用して
qiskit_ibm_runtime.IBMRuntimeService.run()メソッドを実行する際に、オプションで backend_name を指定することがオプションになりました。 サーバーは自動的にバックエンドを選択し、その名前を返します。 -
qiskit.providers.ibmq.runtime.IBMRuntimeService qiskit-ibmq-providerの.logoutメソッドは、サーバー上の認証キャッシュをクリアするために使用されていましたが、削除されました。
-
Python 3.6 は寿命を迎え、新しい qiskit-ibm-runtime パッケージではサポートされなくなりました。
-
qiskit.providers.ibmq.runtime.IBMRuntimeService qiskit-ibmq-providerのrun_circuitsメソッドが削除され、
Samplerプリミティブプログラムに置き換えられる。 -
qiskit_ibm_runtime.IBMRuntimeService.run()メソッドは、すでにサポートされている Dict に加えて、qiskit_ibm_runtime.RuntimeOptionsクラスとして実行時の実行オプションを受け付けるようになりました。 backend_name、image、log_levelが現在使用可能なオプションである。 -
qiskit_ibm_runtime.IBMRuntimeService.run()または qiskit_ibm_runtime.RuntimeJob.stream_results() にcallbackを指定すると、中間結果の後に最終結果もストリー ムされるようになった。
0.1.0rc2
新機能
- 便宜上、アカウント
instanceパラメーターの値としてIBM Cloud service nameを設定できるようになった。CRNの代わりに名前を設定することを選択した場合、必要なCRN値が IBM Cloud API を介して内部的に解決されるため、qiskit_ibm_runtime.IBMRuntimeServiceクラスの初期化時間が若干長くなります。
バグ修正
- qiskit_ibm_runtime.utils.json.RuntimeEncoder そして qiskit_ibm_runtime.utils.json.RuntimeDecoder が更新され、Instructionクラスのインスタンスが扱えるようになりました。
- オブジェクト型を持つnumpyのndarraysがシリアライズできない問題を修正しました。 qiskit_ibm_runtime.utils.json.RuntimeEncoder と qiskit_ibm_runtime.utils.json.RuntimeDecoder が更新され、これらのndarraysを扱えるようになった。
0.1.0rc1
新機能
- ジョブをフィルタリングするために、
qiskit_ibm_runtime.IBMRuntimeService.jobs()に hub/group/project 形式のinstanceパラメータを渡すことができるようになりました。 現在はレガシー認証にのみ対応している。 - qiskit_ibm_runtime.RuntimeJob.interim_results() メソッドを使用して、実行時プログラムの中間結果を取得できるようになった。 なお、中間結果は2日間しか得られない。
アップグレードの注意
- クラスの他のプロパティと一貫性を持たせるために qiskit_ibm_runtime.RuntimeJob クラスのjob_idメソッドとbackendメソッドがプロパティに変換された。
qiskit_ibm_runtime.IBMRuntimeService.upload_program()で番組をアップロードする際、番組の説明がオプションになりました。qiskit_ibm_runtime.IBMRuntimeService.pprint_programs(),backend_requirementsを使ってプログラムを印刷する場合、リストが表示されるようになりました。
バグ修正
- Qiskit Terra 0.19.1 以上で
ParameterExpressions を使用する際のJSONエンコードおよびデコードに関する問題を修正しました。 以前は、JSON出力から再構築されたParameterインスタンスは、異なる一意の識別子を持ち、入力と不同に見えることがあった。 これで彼らは正しいバック・アイデンティティを持つことになる。