Skip to main content
IBM Quantum Platform

Qiskit 0.24 リリースノート


0.24.1

Terra 0.16.4

変更なし

エア 0.7.6

変更なし

イグニス 0.5.2

変更なし

アクア 0.8.2

変更なし

IBM Q プロバイダー 0.12.2

アップグレードの注意

  • qiskit.providers.ibmq.IBMQBackend.defaults() バックエンドが pulse をサポートしている場合は、 pulse のデフォルト値を返すようになりました。 しかし、バックエンドがパルスをサポートしていても、プロバイダーがパルスをサポートしていない場合もある。 バックエンドの設定にある open_pulse フラグは、プロバイダがサポートしているかどうかを示す。

0.24.0

Terra 0.16.4

変更なし

エア 0.7.6

新機能

  • これはqiskit-aerの最初のリリースで、 aarch64 ( arm64 ) 上の Linux 用のプリコンパイルされたバイナリを PyPI に公開するものです。 このリリース以降、 Linux aarch64 パッケージが公開され、サポートされる。

バグ修正

  • 条件付きゲートのノイズが、古典的なレジスタ値に基づいて条件付きゲートが実際に適用されたかどうかに関係なく、常に適用されていたバグ #1153を修正。 これで、条件付きゲートのノイズは、条件付きゲートが適用された場合にのみ適用されるようになった。
  • 問題 #1126 :単一量子ビットの測定報告におけるバグを修正。 このバグは、測定値を出力データ構造体にコピーする際に発生した。
  • 以前は、Aerのバックエンドオブジェクトがサポートすると報告するデフォルトの量子ビット数と、シミュレータが実際に実行する最大量子ビット数との間にミスマッチがありました。 これは、最大量子ビット数の計算に使われた Python のコードと、利用可能なメモリに基づく最大量子ビット数の実行時チェックに使われたC++のコードとの不一致によるものであった。 これは修正され、現在ではデフォルトでAerのバックエンドは、利用可能なシステム・メモリすべてに収まる回路の実行を許可している。 1114番を修正

変更なし

イグニス 0.5.2

変更なし

アクア 0.8.2

変更なし

IBM Q プロバイダー 0.12.0

前奏曲

  • qiskit.providers.ibmq.IBMQBackend.run() メソッドが1つ以上の QuantumCircuit または Schedule. の使用 QasmQobjPulseQobj の使用は非推奨となった。 ショット数などのランタイム設定オプションは、 run() 、または qiskit.providers.ibmq.IBMQBackend.set_options() 。 前者はジョブに対して1回だけ設定され、後者はバックエンドに送られるすべてのジョブに対して使用される。 オプションが両方の場所で設定されている場合、 run() で設定されている値が優先される。
  • IBM Quantumクレデンシャルは、 qiskitrc ファイルの'ibmq'で始まるセクションからのみロードされるようになった。

新機能

  • Python 3.9 のサポートが追加されました。 Qiskit IBMQ プロバイダーは Python 3.9 を使用して実行できます。

  • qiskit.providers.ibmq.AccountProvider.backends() に、最小量子ビット数でフィルタリングできる新しいパラメータ min_num_qubits が追加された。

  • qiskit.providers.ibmq.IBMQBackend.run() メソッドが1つ以上の QuantumCircuit または Schedule. ショット数などのランタイム設定オプションは、 run() 、または qiskit.providers.ibmq.IBMQBackend.set_options() 。 前者はジョブに対して1回だけ設定され、後者はバックエンドに送られるすべてのジョブに対して使用される。 オプションが両方の場所で設定されている場合、 run() で設定されている値が優先される。 例:

    from qiskit import IBMQ, transpile
    from qiskit.test.reference_circuits import ReferenceCircuits
    
    provider = IBMQ.load_account()
    backend = provider.get_backend('ibmq_vigo')
    circuits = transpile(ReferenceCircuits.bell(), backend=backend)
    default_shots = backend.options.shots  # Returns the backend default of 1024 shots.
    backend.set_options(shots=2048)        # All jobs will now have use 2048 shots.
    backend.run(circuits)                  # This runs with 2048 shots.
    backend.run(circuits, shots=8192)      # This runs with 8192 shots.
    backend.run(circuits)                  # This again runs with 2048 shots.
  • qiskit.providers.ibmq.experiment.Experiment には、実験作成に使用されたプロバイダを特定する3つの属性、hub、group、projectが追加された。

  • qiskit.providers.ibmq.IBMQBackend.run() を使ってジョブを提出する際に、 experiment_id を割り当てることができるようになりました。 この新しいフィールドを使えば、同じ実験に属するジョブをまとめてグループ化することができる。 qiskit.providers.ibmq.IBMQBackendService.jobs() メソッドも更新され、 experiment_id によるフィルタリングが可能になった。

  • qiskit.providers.ibmq.experiment.Experiment の2つの属性が追加された:

    • share_level:実験が共有されるレベル。実験をリストアップする際に、誰が見ることができるかを決定する。 これは更新できる。
    • owner: 実験をアップロードしたユーザーのID。 これはサーバーによって設定され、更新することはできない。
  • メソッド qiskit.providers.ibmq.experimentservice.ExperimentService.experiments() は、フィルタリングキーワードとして hubgroupproject を受け付けるようになった。

  • メソッド qiskit.providers.ibmq.experiment.ExperimentService.experiments()qiskit.providers.ibmq.experiment.ExperimentService.analysis_results() は、返される実験と分析結果の数を制限できる limit パラメータをサポートするようになった。

  • メソッド qiskit.providers.ibmq.experimentservice.ExperimentService.experiments() は、フィルタリングキーワードとして exclude_minemine_only を受け付けるようになった。

  • メソッド qiskit.providers.ibmq.experimentservice.ExperimentService.experiments() は、フィルタリングキーワードとして exclude_publicpublic_only を受け付けるようになった。

  • qiskit.providers.ibmq.managed.IBMQJobManager.run() が使えるようになりました。 QuantumCircuit または Schedule を受け付けるようになった。

  • least_busy() 関数は、稼動しているが一時停止している、つまりジョブを受け入れているが処理していないバックエンドをスキップするようになった。

  • ピックルできないカスタム・データ(例えばQobjヘッダー)を含まない限り、 IBMQJob インスタンスをピックルできるようになりました。

  • qiskit.providers.ibmq.AccountProvider.services() 」と「 qiskit.providers.ibmq.AccountProvider.service() 」という2つの新しいメソッドを使って、アカウントで利用可能なサービスを調べたり、特定のサービスのインスタンスを取得したりできるようになった。

  • qiskit.providers.ibmq.IBMQBackend.reservations() メソッドは、あなたが所有していない予約であっても、常に予約スケジューリングモードを返すようになりました。

アップグレードの注意

  • 以前は非推奨だったメソッドや機能の多くが削除された:

    • qiskit.providers.ibmq.job.IBMQJob.to_dict()
    • qiskit.providers.ibmq.job.IBMQJob.from_dict()
    • Qconfig.py サポート
    • プロトコルを含まないプロキシURLの使用
  • 新しいパラメータ、 limit は、 qiskit.providers.ibmq.experiment.ExperimentService.experiments()qiskit.providers.ibmq.experiment.ExperimentService.analysis_results() の両メソッドの最初のパラメータとなった。 この limit 、デフォルト値は10である。つまり、dafultによって10個の実験と分析結果のみが返される。

  • IBM Quantumクレデンシャルは、 qiskitrc ファイルの'ibmq'で始まるセクションからのみロードされるようになった。 これにより、 qiskitrc ファイルを他の機能に使用することができる。

非推奨のメモ

  • の使用 QasmQobjPulseQobjqiskit.providers.ibmq.IBMQBackend.run() の使用は非推奨となった。 QuantumCircuit そして Schedule を代わりに使うべきである。

  • qiskit.providers.ibmq.AccountProviderbackends 属性は backend (sigular) に名称変更された。 後方互換性のため、 backends を使い続けることはできますが、これは非推奨であり、将来のリリースで削除される予定です。 qiskit.providers.ibmq.AccountProvider.backends() 方式に変更はない。 例:

    backend = provider.backend.ibmq_vigo   # This is the new syntax.
    backend = provider.backends.ibmq_vigo  # This is deprecated.
    backends = provider.backends()         # This continues to work as before.
  • IBMQJob client_version 属性の設定は非推奨となりました。 ただし、アトリビュートの値を読み続けることはできる。

  • " qiskit.providers.ibmq.IBMQBackend.run() "の " validate_qobj "キーワードは非推奨であり、将来のリリースで削除される予定である。 このスキーマ検証に依存しているのであれば、 Qiskit/ibmq-schemasからスキーマを取り出し、それを使ってペイロードを直接検証すべきです。

バグ修正

  • ジョブの投入が途中で失敗した場合、ジョブが CREATING の状態で放置されることがあった問題を修正しました。
  • バックエンドの基礎ゲートに従来の u1, u2, u3 が含まれていない場合、Jupyterバックエンド・ウィジェットの使用に失敗する問題を修正。 844番を修正
  • IBMQRandomService のインスタンスを子プロセスに渡す際に発生する無限ループを修正。
  • サーバーがエラーコードを返したが、レスポンス・データが期待された形式でなかった場合に TypeError が発生する問題を修正した。
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。