Skip to main content
IBM Quantum Platform

IBM Quantum Computeクライアントのリリースノート


0.49.0 (2026年8月10日)

アップグレードの注意

  • この options_models パッケージのオプションクラスは、以前は に基づいていましたが、現在は ではなく BaseModel Pydantic の に基づいています 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 )

新機能

  • 命令 MidCircuitResetConvertToMidCircuitResetAndMeasure トランスパイラ・パスを追加しました。 この新しいパスは、非終端命令 reset をハードウェア固有の中間リセット実装に置き換えることで、既存の ConvertToMidCircuitMeasure 機能を拡張しています。 ( 2903 )
  • NoiseLearnerV3Options に bit_flip_checks フィールドを追加し、ユーザーがノイズ学習回路の結果に対してビット反転チェックを要求できるようにしました。 ( 2907 )
  • にオプションの persist パラメータを追加しました FakeBackendV2.refresh()。 デフォルトでは(persist=True)、動作に変更はありません。更新された設定とプロパティは、インストールされたパッケージに同梱されているデータファイルを上書きするため、更新内容はセッションをまたいで保持されます。 代わりに persist=False Passing を指定すると、更新されたデータが一時ディレクトリに書き込まれます。これにより、パッケージが読み取り専用領域(たとえば、システム全体のディレクトリ 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 qiskitRuntimeDecoder 現在は へのアップグレードを推奨する明確なメッセージが表示されるようになりました。 ( 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 )

  • SamplerV2 PUBごとに異なる 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_searchglobal_catalog``resource_controller 、 です)は、現在 IBM Cloud のSDK設定メカニズムに準拠しており、環境変数や認証情報ファイルを介してカスタム設定を渡すことが可能になりました。 ( 2712 )

  • ChunkTiming新しいチャンク・タイミング・コンテナ・クラス chunk_timings の 1 つ以上のインスタンスの実行タイミングを、対話型の棒グラフにプロットするために追加 draw_chunk_timings() されました qiskit_ibm_runtime.visualizationjob.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 )

非推奨のメモ

  • Pythonextras パッケージはリファクタリングされました:

    • v0.48``common および documentation は非推奨となっており、. で削除される予定です。
    • performance パフォーマンスや機能の向上をもたらす、開発者向けではないオプションの依存関係のために導入されました。
    • 開発依存関係の粒度がより細かく設定できるようになりました(style, style_local, test, doc)。また、 dev extra オプションを使用することで、引き続き完全な開発スイートをインストールすることが可能です。 ( 2707 )

バグ修正

  • GlobalCatalogV1``` GlobalSearchV2 ``の QiskitRuntimeService 引数および ssl_verificationproxies 、基盤となる 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 はバックエンドの基本ゲートにおいて ゲート rxrzz ゲートの両方をチェックし、構成を更新するかキャッシュからフェッチするかを決定します。 ( 2524 )
  • インスタンスのカタログ情報を取得できない場合(例:インスタンスがアーカイブされている場合)、初期化は QiskitRuntimeService 失敗しなくなりました。 ( 2603 )

0.45.0 (2026-01-08)

新機能

  • qiskit-ibm-runtime Qiskit との互換性が実現されました。 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.45 qiskit-ibm-runtime で削除される予定です。 ( 2574 )

バグ修正

  • バックエンドオブジェクトの作成時、.QiskitRuntimeService は従来、バックエンドの基本ゲート内のゲート rzz のみをチェックし、キャッシュを使用するか新規バックエンドオブジェクトを作成するかを決定していた。 現在、.QiskitRuntimeService はバックエンドの基本ゲートにおいて ゲート rxrzz ゲートの両方をチェックし、構成を更新するかキャッシュからフェッチするかを決定します。 ( 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_3measure_reset)。

    初期化時に、このパスは、指定されたターゲットが、少なくとも1つの量子ビットに対して、指定された回路内測定命令をサポートしていることを検証します。 そうでなければ、構築は失敗します。 実行されると、このパスは以下の処理を行います:

    • すでに配線済みの回路上で動作します。
    • ターゲットが対応する物理量子ビットでそれをサポートしている場合、非終端 Measure` 命令のみが、指定された回路中間測定命令に置き換えられます。

    以下のことは行いません:

    • これは、端末での測定に代わるものではありません。
    • これは、既存の回路中間測定に関する指示(例えば、 measure_2measure_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)を使用する場合に IAMTokenManagerQiskitRuntimeService から 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_delayfilter_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_paramsuser_callback が削除された。

    RuntimeJob クラスも削除された。 すべてのプリミティブはジョブを RuntimeJobV2 として返す。 この変更に伴い、コードベース全体のタイプヒントが更新された。 (2298 )

  • RuntimeJobV2.properties() 今後は、ジョブが作成された時点ではなく、ジョブの実行が開始された時点のバックエンドプロパティを取得するようになります。 ( 2369 )

  • 初期化とシリアライゼーション間の一貫性を保つため、 QasmBackendConfigurationrep_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 これを使用すると、指定されたタグを持つインスタンスのみが返されるように、インスタンスをフィルタリングできます。

    さらに、 tagsregionplans_preference のフィルターを使用した際に有効なインスタンスが返されなかった場合、初期化時にエラーが発生するようになった。 渡された tagsregion の名前が、インスタンス 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 )

  • アカウントを保存する際、 regionplans_preferencetags パラメータが有効であることを確認するバリデーションチェックが行われるようになりました。 (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 および FakeBackendV2 defaults() メソッドが削除されました。 これらは 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~ π/2\pi/2 )外であったことに関連するエラーメッセージが更新され、回路で要求された角度値が問題であり、バックエンドから提供された角度値ではないことが明確になった。 (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:口座の種類を優先順に並べたリスト。 リストの最初のタイプのインスタンスが優先される。

      例えば、 regionus-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
  • EnvironmentOptionsprivate オプションが ibm_cloudibm_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つのクラスの主な違いは、Qiskit JobStatus のenumの代わりに文字列を返すという点 status() です。 ( 2170 )
  • パルスゲートはサポートされなくなったため、 および FakeBackendV2 defaults() メソッドは IBMBackend 非推奨となり、このリリースから3ヶ月以上経過した時点で削除される予定です。 このメソッドは依然として存在しますが、これらのパルスのデフォルト値は、バックエンドターゲットの構築にはもはや使用されません。 ( 2186 )
  • ibm_quantum チャンネル・オプションは非推奨で、7月1日に廃止される。 この日以降は、 ibm_cloudibm_quantum_platformlocal のみが有効なチャンネルとなります。 ibm_cloud チャンネルの新しい IBM Quantum Platform への移行については、 移行ガイドをお読みください。 (2205 )

新機能

  • 偽のバックエンドのコンフィギュレーションから backend.<attribute_name> を使って直接属性を取得できるようになった。 (2202 )

バグ修正

  • DoubleSliceSpan.mask()TwirledSliceSpan.mask() が一次元のスライスを含む場合にエラーとなるバグを修正。 (2184 )

アップグレードの注意

  • 0.32.0 でストリーミング結果のサポートが削除されたため、残りの関連するウェブソケットのコードは削除された。 このプロセスの一環として、環境オプション callback は廃止され、 BaseRuntimeJob のパラメータ client_paramsuser_callback も廃止された。 (2143 )

0.37.0 (2025-03-13)

非推奨のメモ

  • IBMBackend 属性 max_shotsmax_experiments、そしてプロパティ max_circuits はすべて非推奨となりました。 これらの属性値は、以前は1つのジョブで送信できるショットと回路の最大数を表していましたが、現在はそうではありません。 詳細はジョブ・リミット・ガイドを参照。 (2166 )

新機能

  • qiskit-ibm-runtime は Qiskit 2.0 と互換性があります。 これは、Qiskit 2.0 で削除されたクラスやメソッドも削除されたか、それに応じて処理されたことを意味します。 pulsechannel 関連の変更点は以下の通り:

    • Channel IBMBackend メソッドは削除された。
    • バックエンドの設定クラス PulseBackendConfiguration は削除され、すべてのバックエンドは QasmBackendConfiguration として返されるようになりました。
    • PulseDefaults (バックエンドのデフォルト)を取得することはできますが、バックエンド Target を作成する際にはもはや必要ありません。

    詳しくはパルス移行ガイドをご覧ください。 (2116 )

  • プリミティブがセッションまたはバッチコンテキストマネージャの外部で初期化された場合の警告を追加。 このシナリオでは、ジョブはセッションやバッチではなくジョブモードで実行されます。 (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 プロパティ generatorsrates は削除されました。 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 )
  • つの新しいフェイクバックエンド、 FakeFezFakeMarrakesh が追加された。 これらは156qubitのヘロンデバイスである。 (2112 )

0.34.0 (2024年12月5日)

新機能

  • ZNEを使用した実験からのデータを可視化するために、 draw_zne_evs および draw_zne_extrapolators 関数を追加。 対応する可視化関数を呼び出すメソッド draw_zne_evsdraw_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 、の BackendSamplerV2run_options のおよび meas_return オプションに変換 meas_level されるようになった。 この変更により、ローカルテストモードにおいてレベル1データのサポートが可能になりました。これまでは、レベル2(機密)データのみがサポートされていました。 ( 1990 )

  • 新機能 validate_rzz_pubs が追加された。 この関数は、 rzz パラメータが、 0pi/2 の間の範囲にあること、数値パラメータ(例えば、 rzz(np.pi/4, 0) )、およびパブで提供される代用値を持つ境界のないパラメータ(rzz(theta, 0) )であることを検証する。 パラメータ式(例: rzz(theta + phi, 0) )はまだ検証されていない。 (2021)

  • FoldRzzAngle新しいトランスパイラー翻訳プラグ IBMFractionalTranslationPlugin インとパスを追加しました。 このプラグインは、opt-in use_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)
  • CouplingMapRuntimeEncoder 追加されたため、これで プログラムに引数 NoiseLearner として渡せるようになりました。 ( 2026 )
  • QiskitRuntimeService.backend()use_fractional_gates 数の挙動が変更されました。 Falseこのオプションが に設定されている場合、APIからの構成データおよびプロパティデータから、分数ゲートに関するすべての参照が除外されるようになりました。 True同様に、このオプションが に設定されている場合、すべての動的回路命令が構成データおよびプロパティデータから除外されます。 以前は、このオプションはバックエンドのターゲットの作成にのみ影響していたため、ターゲット内の指示が、構成データやプロパティデータ内の指示と一致していませんでした。 概して、この変更はユーザーには影響がないはずですが、すべての命令を含む設定データやプロパティデータに依存しているコードがある場合は、そのコードを更新する必要があります( を None に設定 use_fractional_gates すると、フィルタリングを行わずにすべての命令が読み込まれることに注意してください)。 ( 2031 )
  • サーバー上のバックエンド設定が無効であったり、存在しなかったりしても、 service.backends() ですべてのバックエンドを取得できなくなることはなくなりました。 (2048 )
  • pydantic 依存バージョンを <2.10 に固定し、ビルド・プロセスを壊すリグレッションを回避する。 (2049 )

その他の注意事項

  • requirements.txtsetup.py のファイルは削除され、 pyproject を使った新しい依存関係管理アプローチが採用された。 この移行により、開発ワークフローが簡素化される。 依存関係は pyproject.toml ファイルを通して直接管理されるようになった。

    • qiskit-ibm-runtime の依存関係をインストールするには pip install -e . を使用します。
    • pip install -e ".[dev]" を使って、開発依存ファイルをインストールする。
    • pip install -e ".[visualization]" を使用して、視覚化の依存関係をインストールします。 (2053 )

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 バックエンド - FakeMelbourneFakePoughkeepsieFakeTenerifeFakeTokyoFakeRueschlikon は削除された。 (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)
  • QiskitRuntimeServicechannel_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 し、指定された urlinstance 、 に基づいて、 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日)

新機能

  • PauliLindbladErrorLayerError をエンコードおよびデコードするロジックを追加した。 (1853 )

0.27.0 (2024年8月8日)

新機能

  • レイヤーのノイズ処理を表現するために、 PauliLindbladErrorLayerError クラスを追加。 (1844 )

バグ修正

  • セッションで航空シミュレーターとローカルサービスモードを使用する際の問題を修正しました。 (1838 )

0.26.0 (2024年7月31日)

非推奨のメモ

  • Session, Batch, EstimatorV2, SamplerV2 に文字列としてバックエンドを渡すことは非推奨となりました。 代わりに実際のバックエンドオブジェクトを使用してください。 (1804 )
  • SamplerV2 および EstimatorV2 のモードとしてバックエンドを渡すと、 Session または Batch コンテキストマネージャの内部であってもジョブモードでジョブが実行されます。 この動作は非推奨であり、将来のリリースではセッション/バッチが優先されます。 (1816 )
  • Session, Batchservice を渡すことは非推奨となった。 バックエンドからサービスを抽出できるため、 service パラメーターはもはや必要ない。 (1826 )
  • BackendPropertiesBackendConfiguration を含む qiskit.providers.models のバックエンドモジュールは Qiskit 1.2 で非推奨となっているため、 qiskit-ibm-runtime にコピーされています。 これらのクラスを使用するには、必ず最新バージョン( 0.26.0 )にアップグレードしてください。 (1803 )

新機能

  • メソッド propertiesdefaultsconfigurationcheck_faultyFakeBackendV2 に追加された。 (1765 )

  • QiskitRuntimeService.Session.from_id() で作成されたセッションでジョブが実行され、そのセッションがすでに終了している場合、ジョブは即座に拒否されます。 (1780 )

  • ジョブの入力パラメータはキャッシュされなくなりました。 これらのパラメータは大きな回路を含むことがあり、自動的にメモリに保持されるべきではない。 (1783 )

  • QiskitRuntimeLocalService はローカルテストモードをサポートするために作られた。 別のクラスを初期化する手間を省くため、有効な QiskitRuntimeService ・チャンネルとして "local "が追加された。

    service = QiskitRuntimeService(channel="local")

    QiskitRuntimeLocalService インスタンスを返す。 (1793 )

  • オープンプランでジョブを実行する際、保留中のジョブ数の上限に達した場合に警告が表示されるようになりました。 サービスはまた、新しいジョブを投入する前に、最も古い保留中のジョブの実行終了を待とうとする。 (1794 )

  • NoiseLearner および NoiseLearnerOptionsNoiseLearnerResults などの関連機能を追加した。 (1805)

バグ修正

  • すべての回路がISAに準拠しているかチェックされる。 このチェックの一環として、バックエンドがサポートしていない命令が検出されるとエラーが発生する。 以前は、一部の命令(制御フロー操作の本体内にある命令)がスキップされるバグがあった。 このリリースでバグを修正しました。 (1784 )
  • IBMBackend.target_history() を呼び出すとバックエンドのターゲットがキャッシュされ、その後 IBMBackend.target() を呼び出すとそのキャッシュされたターゲットが誤って返される問題を修正しました。 (1791 )
  • 他の関連オプションを使用しているときに、 zne_mitigation または pec_mitigationTrue に設定されているかどうかをチェックするためのオプション検証は削除されました。 (1792 )
  • Python ライブラリ simplejson が環境にインストールされている場合、ユーザーがジョブ結果を取得できない問題を修正しました。 (1800 )

0.25.0 (2024年7月2日)

非推奨のメモ

  • EstimatorV2optimization_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 )

新機能

  • QiskitRuntimeLocalServicebackendbackendsleast_busy メソッドを追加。 (1764 )
  • ジョブが実行されたインスタンスを返す instance プロパティを BaseRuntimeJob に追加しました。 (1771 )
  • default_shots は、 EstimatorV2 をローカルテストモードで使用する際にサポートされるオプションになりました。 (1773 )

0.24.1 (2024年6月18日)

バグ修正

  • バックエンドターゲットが制御フローを除外しないように、デフォルトで分数ゲートを許可しないようにした。 (1755 )

0.24.0 (2024年6月10日)

非推奨のメモ

  • name backend() の必須パラメータになります。 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 および Estimatorbackend 引数は非推奨となりました。 代わりに mode をご使用ください。 Sampler および Estimatorsession 引数も非推奨となりました。 代わりに 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日)

非推奨のメモ

新機能

  • OptionsOptionsV2 を印刷すると、表形式になります。 (1490 )
  • BaseDynamicCircuitAnalysisBlockBasePadder,, PadDynamicalDecoupling PadDelay, および に引数を追加 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 )

バグ修正

  • RuntimeJobV2 APIが不明なステータスを返しても、エラーが発生しなくなります。 その代わりに、APIからのステータスが直接返されます。 ( 1476 )
  • /jobs リクエストでカスタムヘッダが送信されないバグを修正。 (1508 )
  • ParameterExpression のエンコード/デコードに関するバグを修正。 (1521 )
  • RuntimeJobV2 in_final_state() メソッドが呼び出された際にステータスが更新されない問題を修正しました。 ( 1547 )

0.22.0 (2024年3月21日)

アップグレードの注意

  • PadDynamicalDecouplingコンストラクタのオプションフラグを次のように変更します skip_reset_qubitsFalseもしそうであれば、量子ビットの状態にかかわらず、回路の冒頭にある遅延であっても、動的デカップリングが適用される。 このオプションは、Qiskit の動作と一致するようになりました。 ( 1409 )

新機能

  • 新しいローカルテストモードが追加された。 これにより、量子プローラムを物理システムに送信する前に、それを検証することができる。 プリミティブまたはセッションをインスタンス化する際に、 qiskit_ibm_runtime.fake_provider の偽のバックエンドまたは Qiskit Aer バックエンドインスタンスのいずれかが使用されると、ローカルテストモードが有効になります。 (1495 )

バグ修正

  • EstimatorV2resilience_level=0 の設定が無視される(代わりにデフォルト値が使用される)バグを修正。 (1541 )

0.21.2 (2024年3月18日)

バグ修正

  • RuntimeDecoder が任意のクラスをインポートできるバグを修正。 (1527 )

0.21.1

バグ修正

  • エイリアスの定義方法に問題があったため、 SamplerV1EstimatorV1 がインポートできなかったバグを修正。

0.21.0

アップグレードの注意

  • ターゲットのハードウェア定義と一致しない回路は、 Qiskit Runtime プリミティブではサポートされなくなりました。ただし、 channel_strategy="q-ctrl" を使用する場合はこの限りではありません。 回路を変換する方法については、トランスパイルのドキュメント( transpile )を参照してください。また、演算子の変換と組み合わせて使用する方法については、プリミティブの例( run/primitives-examples )を参照してください。

非推奨のメモ

  • 将来のリリースでは、 ibm_cloud チャンネルを使用する場合でも、 session が指定されていない場合、 backendqiskit_ibm_runtime.Sampler の必須パラメータとなり、 qiskit_ibm_runtime.Estimator は の必須パラメータとなる。

    また、 qiskit_ibm_runtime.Sessionqiskit_ibm_runtime.Batch の必須パラメータとなる。

バグ修正

  • IBMBackend.target で、サポートされているコントロールフロー操作(IfElseOpWhileLoop など)を誤って除外していた問題を修正 バックエンドがサポートしている場合。
  • 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 のコンストラクタでも、 InstructionDurations durations の入力が必要になった。

0.19.1

アップグレードの注意

  • DynamicCircuitInstructions.from_backend() を拡張して、 BackendV1BackendV2 の両方のオブジェクトから持続時間を抽出してパッチする。 また、 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-ctrlchannel_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_indicesobservable_indices run入力は完全に削除されました。

その他の注意事項

  • backend.run をqiskit_ibm_providerの代わりにqiskit_ibm_runtimeで実行するための移行コードを追加した。

0.14.0

新機能

  • 新しいクラス qiskit_ibm_runtime.Batchqiskit_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.ResilienceOptionsnoise_factorsextrapolator オプションは、 resilience_level が 2 に設定されていない限り、 None がデフォルトになるようになった。 レジリエンス・レベルに関連するオプションのみが設定されるため、 resilience_level 2 を使用する場合、 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/625job.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() が追加された。
  • instanceqiskit_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

非推奨のメモ


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.Samplerqiskit_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

新機能

  • transpilationenvironment のオプションに、入力オプションを検証するメソッドを追加した。

アップグレードの注意

  • バックエンドを構築する際、 qiskit.transpiler.Target、バックエンドのコンフィギュレーションから欠陥のある量子ビットとゲートがフィルタリングされる。

非推奨のメモ

  • 非推奨の引数 circuitsparametersserviceskip_transpilationSamplerから削除されました。

    同様に、非推奨の引数 circuitsobservablesparametersserviceskip_transpilationEstimatorから削除された。

    QiskitRuntimeServiceでauth パラメーターが削除されました。 さらに、 qiskit_ibm_runtime.QiskitRuntimeService.run() から、 instancejob_tagsmax_execution_time パラメータが削除された。代わりに RuntimeOptions から渡すことができる。

    Within RuntimeOptions backend_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_timemax_execution_time に異なる値を指定することができる。
  • target_history() メソッドを追加した。このメソッドは target() に似ています。新しいメソッドでは、ユーザがバックエンドから過去のデータを取得するために datetime パラメータを渡すことができる点が異なります。

アップグレードの注意

  • レベル 1 で指定されたすべてのオプションを受け入れ、適切な階層オプション・タイプに割り当てる。 例えば、Sampler/Estimatorへの入力として options = {"shots": 10} を指定すると、 options = {"execution: {"shots": 10}} と解釈される。
  • ジョブがバックエンドなしで返された場合、 qiskit_ibm_runtime.RuntimeJob.backend() によってバックエンドを取得すると、サーバーからデータを再取得し、バックエンドの更新を試みます。 の非推奨属性であった job_idbackend は削除された。 qiskit_ibm_runtime.RuntimeJob は削除されました。
  • ユーザーがオプションでサポートされていないオプションを渡した場合に警告を表示するようにした。

バグ修正

  • optimization_levelresilience_level のデフォルト値が正しく設定されていなかったバグを修正。
  • バックエンドが選択されていない場合、 optimization_levelresilience_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 () を使用する場合、このオプションはサポートされなくなりました。セッションは複数のクロスバックエンドをサポートしません。 さらに、オプションを通して渡されたバックエンドが、アクティブなセッションの元のセッションバックエンドと一致しない場合は例外が発生します。

バグ修正

  • ECRGateCZGate のマッピングが Target コンストラクタに追加され、トランパイルのバグが修正された。

その他の注意事項

  • 失敗したジョブからのエラーメッセージは長いかもしれないので、メッセージの最後の Traceback から始まるように短くした。

0.9.0

アップグレードの注意

  • qiskit_ibm_runtime.Optionsoptimization_levelresilience_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_methodtiming_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_tagsenvironment の下のオプションとして受け付けるようになった。 qiskit_ibm_runtime.RuntimeOptions この2つのパラメータも更新された。

アップグレードの注意

  • このバージョンのqiskit-ibm-runtimeにはqiskit-terraバージョン 0.22 以上が必要です。 それに伴い、 requirements.txt

非推奨のメモ

  • Qiskit Runtime torch-train、、、、 の各プログラムは、使用率が低いため非推奨となりました。 torch-infer sample-expval sample-program quantum_kernal_alignment
  • qiskit_ibm_runtime.QiskitRuntimeService.run()instance パラメータを渡すことは非推奨となった。 代わりに、 options パラメーターの中に instance パラメーターを渡すことができる。
  • にパラメータとして job_tagsmax_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 のサブクラスとなった。

非推奨のメモ


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.QiskitRuntimeServicechannel を環境変数 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.Samplerqiskit_ibm_runtime.Estimator をコンテキスト・マネージャーとして呼び出すことは非推奨となった。 その代わりに、 qiskit_ibm_runtime.Session クラスを使用して新しいセッションを作成し、セッション内で 1 つ以上のプリミティブを呼び出すことができます。

    その結果、 circuitsobservablesparameter_valuesservice などの入力パラメータを、 SamplerEstimator のコンストラクタに渡すことも非推奨となった。 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_aftercreated_before という2つのパラメータが追加された。 これらは、現地時間での作成日付でジョブをフィルターするために使用できる。

  • estimator を呼び出す際のパラメータ circuit_indicesobservable_indices は現在非推奨であり、将来のリリースで削除される予定である。 circuitsobservables パラメータを使って、インデックスまたはオブジェクトを渡すことができるようになった。

    例:

    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_indicesobservable_indices は現在非推奨であり、将来のリリースで削除される予定である。 circuitsobservables パラメータを使って、インデックスまたはオブジェクトを渡すことができるようになった。

    例:

    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

アップグレードの注意

  • IBMRuntimeService QiskitRuntimeSerice IBMRuntimeService クラスは現在非推奨であり、将来のリリースで削除される予定です。

    例:

    前:

    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], ...)

非推奨のメモ

  • IBMRuntimeService IBMEstimator および クラスは非推奨となり、将来のリリースで削除される予定です。 IBMSampler 代わりに QiskitRuntimeServiceEstimatorSampler クラスを使用してください。 例による詳しい説明は、アップグレードノートのセクションをご覧ください。

0.3.0

アップグレードの注意

  • 新しいパラメータ channelqiskit_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.IBMEstimatorqiskit_ibm_runtime.IBMSampler のクラスで、 estimatorsampler のプリミティブ・プログラムと簡単にやりとりできるようになった。 使い方の詳細については、各クラスのドキュメント文字列の例を参照してください。

バグ修正


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_qubits

    BackendV1、唯一の変更点は 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/project qiskit_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 クラスの初期化時間が若干長くなります。

バグ修正


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 インスタンスは、異なる一意の識別子を持ち、入力と不同に見えることがあった。 これで彼らは正しいバック・アイデンティティを持つことになる。
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。