Skip to main content
IBM Quantum Platform

Qiskit 0.36 リリースノート


0.36.2

Terra 0.20.2

前奏曲

Qiskit Terra 0.20.2 はバグフィックスリリースで、前回のパッチリリース以降に確認されたいくつかのマイナーな問題に対処しています。

バグ修正

  • に関する問題を修正しました。 BackendV2- FakeMontrealV2 のような qiskit.providers.fake_provider モジュールの偽のバックエンドクラスに基づく dtm 属性と dt 属性と関連する属性 Target.dt の値が正しく秒に変換されない問題を修正しました。 これは、これらの偽のバックエンドをスケジューリングで使用する際に問題を引き起こすだろう。 8018を参照。

  • marginal_counts() は、 indices パラメータに非ゼロ要素を含むメモリをマージナライズするように要求された場合に成功するようになった。 以前は、16進数の結果表現が十分に小さいショットは、 ValueError8044を参照。

  • OpenQASM 3 エクスポーター(qiskit.qasm3)は、ゲート宣言の前に input または output 宣言を出力するようになった。 この方が、 OpenQASM 3 チームが現在参照している ANTLR 文法と一致する。 7964を参照。

  • トランスパイラー・パスのバグを修正。 RZXCalibrationBuilder トランスパイラのパスで、スケーリングされたクロス共振パルスの振幅が、代入後もパラメトライズされているように見えることがあるバグを修正。 このため、パルス可視化ツールは、期待される数値形式ではなく、パラメトリックな形式を使用する可能性がある。 8031を参照。

  • の問題を修正しました。 transpile() 関数の問題を修正しました。 BackendV2-ベースのバックエンドで実行し、 scheduling_method キーワード引数を設定した場合の関数の問題を修正しました。 以前は、この関数はバックエンドがサポートする命令のデフォルトの持続時間を正しく処理できず、エラーになることがありました。

  • トランスパイラー・パスのバグを修正。 RZXCalibrationBuilder トランスパイラー・パスのバグを修正。 7994を参照。

  • トランスパイラー・パスは SabreSwap トランスパイラ・パスは transpile() で使用されるトランスパイラ・パスは、 routing_method="sabre" が設定されている場合、トランスパイラの配線段階で、古典的な条件付きゲートとその後継が回路から散発的に削除されることがなくなりました。 8040を参照。

  • Statevector は、その値( for coefficient in statevector など)を直接反復処理できるようになり、 len の下でその長さを正しく報告するようになった。 以前は、境界外のデータにアクセスしようとして QiskitError. 8039を参照。

エア 0.10.4

変更なし

イグニス 0.7.1

前奏曲

これは主に、qiskit-ignis ドキュメンテーションのビルドに使用されるソースファイルを含む docs/ ディレクトリが Python パッケージに含まれてしまうというパッケージングの問題を修正したバグフィックスリリースです。

IBM Q プロバイダー 0.19.1

変更なし


0.36.1

Terra 0.20.1

前奏曲

Qiskit Terra 0.20.1 は、リリース 0.20.0 で確認された問題を解決するバグフィックスリリースです。

既知の問題

  • QPYのデシリアライズは qpy.load() 関数でのデシリアライズは失敗します。 UCPauliRotGate オブジェクトの関数を使ったデシリアライズは、クラスへの回転軸引数が標準的な場所に格納されていないため、失敗します。 これを回避するには、代わりにサブクラスを使うことができる: UCRXGate, UCRYGateまたは UCRZGate (それぞれ "X", "Y", "Z" の回転軸を使用しているかどうかに基づく)を使用することができます。このサブクラスはクラスのコンストラクタに回転軸を埋め込み、QPYで正しく動作します。

  • Qiskit Terra 0.20 で紹介されて以来、、 XXPlusYYGate は、他のすべての回転ゲートと比較して負の角度規約を使用しています。 Qiskit Terra 0.21 では、他の回転ゲートと整合するように修正されます。 これは他の回転ゲートには影響しない。 XXMinusYYGate.

バグ修正

  • 固定 Clifford, Pauli そして CNOTDihedral 命令を含む互換回路からの演算子初期化 Delay 命令が含まれています。 これらの命令は、演算子に変換される際、同一性として扱われる。

  • を修正しました。 eval_observables() 関数の quantum_state 引数の型が StateFn であった場合にエラーが発生する問題を修正した。 eval_observables タイプヒントで示されるすべての入力タイプを正しくサポートするようになった。

  • 可視化関数の問題を修正 dag_drawer() およびメソッド DAGCircuit.draw() オブジェクトの視覚化を生成しようとすると、ドロワーが失敗する問題を修正しました。 DAGCircuit オブジェクトに対して可視化を生成しようとすると、ドロワーが失敗していた問題を修正しました。 Qubit または ClbitQuantumRegister ClassicalRegisterを含むオブジェクトに対して視覚化を生成しようとすると、ドロワーが失敗していた問題を修正しました。 7915を修正。

  • Drag クラスのパラメータ検証を修正した。 以前は、負の符号を持つ大きなベータ値には感度がなく、最大値が振幅限界 1.0 を超える波形サンプルになっていた可能性がある。

  • 多くのアルゴリズム(例えば QuantumInstance 多くのアルゴリズム( VQE など)で使われるクラスは、ジョブのステータスが更新されるのを待つループの間、スリープの値をハードコーディングしていた。 のイニシャライザーで wait 属性に従って設定されたスリープ値を尊重するようになりました。 QuantumInstance.

  • 関数の問題を修正しました。 schedulelist 関数の問題を修正しました。 QuantumCircuit オブジェクトが返される問題を修正しました。 Schedulelist オブジェクトが返される問題を修正しました。

  • plot_error_map の可視化関数で、提供されたバックエンドの BackendProperties または BackendV2 バックエンドで実行した場合に動作しない問題を修正した。 修正 #7879

  • のインスタンスがメソッド に与えられたとき、指数関数的な実行時間と非終了になるバグを修正した。 Pauli インスタンスが init_observables() メソッドに与えられたときに、指数関数的な実行時間と非終了になるバグを修正した。

  • 固定 SabreSwapを修正した。 transpile()optimization_level=3 で、測定値の並び替えが不正になることがありました。 以前は、2つの測定が同じクラシカル・ビットに書き込まれていた、 SabreSwap は、(カップリング・マップに依存して)それらを並べ替えて、非等価回路を生成することができた。 この挙動は確率的なものであり、確実に現れるとは限らない。 7950を修正

  • トランスパイラー・パスは SabreSwap トランスパイラー・パス、ひいては SabreLayouttranspile()optimization_level=3 に、無限ループにはまらないことを保証するエスケープメカニズムが追加された。 以前は、ある種の入力が、運が悪ければ、探索空間の安定した局所最小値にはまり込み、パスがそれ以上進まなくなることがあった。 最近、ルーティングが進んでいないことを検知すると、ルーティングを継続させるために一連のスワップを強制するようになった。 修正 #7707

  • の関数を介したQPYのデシリアライズに関する問題を修正しました。 qpy.load() 関数を介した UCRXGate, UCRYGateおよび UCRZGate クラスの関数によるQPYデシリアライズの問題を修正しました。 以前は、これらのゲートのいずれかを含むQPYファイルは、ファイルをロードしようとするとエラーになった。 修正 #7847

エア 0.10.4

変更なし

イグニス 0.7.0

変更なし

IBM Q プロバイダー 0.19.1

0.19.1

バグ修正

  • PR #1129 least_busy() メソッドを更新し、 BaseBackend を有効な入出力型としてサポートしないようにした。 は qiskit-terra では長い間非推奨であり、最近削除されたからである。

0.36.0

Terra 0.20.0

変更なし

エア 0.10.4

アップグレードの注意

  • Qiskit Aerは、安全でない浮動小数点最適化でコンパイルされなくなりました。 ほとんどの影響はQiskit Aerに局所化されているはずだが、以前は、ライブラリが「ゼロにフラッシュ」モードを誤って設定したために、正常でない処理の一部がユーザーコードに漏れていた可能性がある。 これはもう起こらないだろう。

バグ修正

  • スーパーオペがキャッシュ・ブロックされることを認識するよう、キャッシュ・ブロック・トランスパイラを修正。 This is fix for issue 1479 <https://github.com/Qiskit/qiskit-aer/issues/1479> density_matrixをノイズモデルで並列化できるようになった。 この問題を検証するために、新しいテスト test_noise.TestNoise.test_kraus を追加した。 また、この修正には、新しいテストケースの追加によって発見された問題1483 <https://github.com/Qiskit/qiskit-aer/issues/1483> の修正が含まれています。 これにより、statevectorのチャンクに対する測定が修正された。

  • バックエンドから T2 の値が 2 ㎤以上 T1 が供給された場合に NoiseModel.from_backend() でエラーが発生するバグを修正。 この修正後は、 T2 の値を 2 ˶* T1 まで切り捨て、切り捨てた場合は警告を出すようになりました。 このバグは#1391で導入されたもので、それ以前の NoiseModel.from_backend() では、 T2 の値を 2 ㏄* T1 まで無言で切り捨てていた。

    詳細は 1464号を参照。

  • device=Thrustは、 OpenMP スレッディングが常に適用されていたため、少ない量子ビット数では非常に遅かった。 この修正は、statevector_parallel_thresholdを使用することで、device=CPUと同じように OpenMP。

  • Qiskit Aerは、ロード時に浮動小数点モードを "flush to zero "に設定しなくなった。 ダウンストリームユーザーは以前、次のようなNumpyからの警告を目にしたことがあるかもしれない:

    <class ‘numpy.float64’> タイプの最小サブノーマルの値はゼロ。

    浮動小数点の扱いも正しくなります。

  • 属性が設定された回路でシミュレーションを実行する際の潜在的な問題を修正しました。 QuantumCircuit.metadata 属性が設定されている回路でシミュレーションを実行すると発生する可能性のある問題を修正しました。 アトリビュートは metadata 属性には任意のpython辞書を指定することができ、以前のqiskit-aerではその内容がJSONシリアライズ可能でなくても、回路の残りの入力と一緒に処理するためにJSONシリアライズを試みていました。 属性はシミュレーションの実行には使用されないため、このようなことは起こりません。 QuantumCircuit.metadata 属性はシミュレーションの実行に使用されないため、この現象は発生しなくなりました。 qiskit.result.Result オブジェクトに直接アタッチされます。 1435を修正

イグニス 0.7.0

変更なし

IBM Q プロバイダー 0.19.0

新機能

  • qiskit-ibmq-provider パッケージが IBM Quantum LiveData 機能をサポートするようになった。 これらの機能により、ユーザーはジョブの実行中に IBM Quantum バックエンドのリアルタイムの動作を観察することができる。 具体的には、プロバイダはバックエンドのJupyter関連ウィジェットに新しいタブを含み、許可された IBM Quantumバックエンドでlive_data_enabled=Trueパラメータを持つジョブの実行( qiskit.providers.ibmq.IBMQBackend.run() メソッド経由)をサポートするようになった。
  • qiskit.providers.ibmq.runtime.IBMRuntimeService.run() メソッドで Qiskit Runtime ジョブをサブミットする際に、 options キーワードで異なるロギング・レベルを指定できるようになりました。

アップグレードの注意

  • Python 3.6 2021年12月に耐用年数を迎えるため、サポートは終了した。
  • qiskit.providers.ibmq.random CQC乱数抽出器へのアクセスに使用されていた乱数サービスはサポートされなくなり、削除されました。

非推奨のメモ

  • qiskit.providers.ibmq.runtime.IBMRuntimeService.run() メソッドの image キーワードは非推奨。 代わりに、 options キーワードで使用する画像を指定する必要があります。

バグ修正

  • 問題 #190を修正しました。 現在、 qiskit.providers.ibmq.runtime.RuntimeEncoderqiskit.providers.ibmq.runtime.RuntimeDecoder が更新され、Instructionクラスのインスタンスを扱えるようになった。
  • オブジェクト型を持つnumpyのndarraysがシリアライズできない問題 #74を修正しました。 qiskit.providers.ibmq.runtime.RuntimeEncoder および qiskit.providers.ibmq.runtime.RuntimeDecoder が更新され、これらのndarraysを扱えるようになった。
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。