Qiskit 0.41 リリースノート
0.41.1
Terra 0.23.2
前奏曲
Qiskit Terra 0.23.2 パッチリリースでは、 0.23 シリーズで確認されたバグがさらに修正されています。
バグ修正
-
回路ライブラリにすでに存在する以下のクリフォードゲートを
Cliffordクラスに追加する:SXGate,SXdgGate,CYGate,DCXGate,iSwapGateそしてECRGate. -
標準等価ライブラリに
ECRGateを(大域的位相までの)クリフォードゲートに分解する機能を標準同値ライブラリーに追加する。 -
クラスをラップする際の
BackendV2Converterクラスの問題を修正しました。BackendV1-クラスの問題を修正しました。 のonline_dateフィールドが存在しないか、シミュレータのバックエンドが1qubit以上のゲートを含む理想的な実装をサポートしていないとエラーになります。BackendConfigurationフィールドが存在しないか、シミュレータのバックエンドが1qubit以上のゲートの理想的な実装をサポートしていない場合はエラーになります。 修正 #9562。 -
メソッド
BackendV2Converter.meas_map()の誤った戻り値が、バックエンドdtの代わりに返されていたのを修正した。 -
メソッドの戻り値が欠落していたのを修正
BackendV2Converter.drive_channel(),measure_channel(),acquire_channel()およびcontrol_channel(). -
非推奨の
QubitとClbitプロパティregisterとindexはQPY(qiskit.qpy) によって正しくラウンドトリップされるようになりました。QuantumRegisterとClassicalRegister. Terra 0.23 シリーズの以前のリリースでは、この情報は失われていた。 0.23.0 以前のバージョンでは、この情報は部分的に再構成されていたが、特定のレジスタ構成では不正確であったり、無効な回路が生成されたりすることがあった。回路内のビットのインデックスと、そのビットが含まれる回路内のレジスタを取得する正しい方法は
QuantumCircuit.find_bit(). このメソッドは、バージョン 0.19 で追加されて以来、Terra のすべてのバージョンで正しい情報を返す。 -
メソッドの問題を修正した。
InstructionScheduleMap.has_custom_gate()Trueメソッドの問題を修正しました。InstructionScheduleMapオブジェクトがTarget. 修正 #9595。 -
NumPy-based の固有値ソルバー (
NumPyMinimumEigensolver/NumPyEigensolver)および SciPy-based 時間エボルバ(SciPyRealEvolver/SciPyImaginaryEvolverなどの疎行列への変換をサポートする演算子が、密行列に変換されてしまうというバグを修正しました。SparsePauliOpのような疎行列への変換をサポートする演算子が、密行列に変換されてしまうというバグを修正しました。 -
のバグを修正した。
generate_basic_approximations()の逆数がSdgGateが正しくSGate. 修正 #9585。 -
アルゴリズムのバグを修正。
VQDエネルギー評価関数がパラメータのバッチを処理できず、max_evals_grouped>1を持つオプティマイザと互換性がないというバグを修正した。 修正 #9500。 -
のバグを修正した。
QNSPSA計算された忠実度がたまたまint型であったにもかかわらず、摂動がfloat型であった場合に型エラーが発生するバグを修正した。
エア 0.11.2
変更なし
IBM Q プロバイダー 0.20.1
qiskit-ibmq-provider が非推奨となったため、依存関係は最新の動作するバージョンに修正された。 requests-ntlm パッケージの最新バージョンに問題があり、一部のエンド・トゥ・エンドのテストが失敗していた。
0.41.0
Terra 0.23.1
前奏曲
Qiskit Terra 0.23.1 は、Qiskit Terra のバグを修正する小さなパッチリリースです。 0.23.0
バグ修正
-
pickle
InstructionScheduleMapargumentsのエッジケースが修正されました。 以前は、argumentsのパラメータとして、unpickleable iterable を使用していました。InstructionScheduleMap.add()dict_keys(の並列呼び出しが失敗することがあった。transpile()の並列呼び出しが失敗することがあった。 これらの引数は内部的にlistに正しく正規化される。 -
のパフォーマンスのバグを修正。
ReverseEstimatorGradientで、勾配がパラメータのサブセットに対してのみ計算される場合や、パラメータ化されていないゲートが多数ある回路において、計算が不必要なコピーを大量に行うというパフォーマンスのバグを修正した。 -
の不適切な非推奨化を修正した。
Register.name_formatクラス属性はインスタンスからのみ利用可能で、クラスからは利用できませんでした。 ダイナミックサーキットのジョブをハードウェアバックエンドに送信しようとすると、頻繁にエラーが発生する:AttributeError: 'property' object has no attribute 'match'修正 #9493。
エア 0.11.2
変更なし
IBM Q プロバイダー 0.20.0
前奏曲
今回の qiskit-ibmq-provider パッケージのリリースでは、このパッケージを非推奨とし、将来的に引退させ、アーカイブ化する予定です。 qiskit-ibmq-provider の機能は、 qiskit-ibm-provider、 qiskit-ibm-runtime、 qiskit-ibm-experiment の3つのパッケージに取って代わられ、 qiskit-ibmq-provider が含んでいた機能の異なるサブセットを提供している。 この表はこちらから参照できる:
https://github.com/Qiskit/qiskit-ibmq-provider#migration-guides
qiskit-ibmq-provider から代替パッケージへの移行ガイドへのリンクはこちら。
非推奨のメモ
- バージョン 0.20.0、
qiskit-ibmq-providerはサポート終了に伴い非推奨となり、最終的なアーカイブ化はその日から3ヶ月以内となる。 qiskit-ibmq-providerによって提供される機能はなくならない。 ご覧ください https://github.com/Qiskit/qiskit-ibmq-provider#migration-guides.
バグ修正
-
今度のterraリリースでは、最終リリースの前にリリース候補がタグ付けされる。 しかし、qiskit-ibmq-providerはバージョンを解析しようとしており、バージョン文字列にpreleaseサフィックスがないと仮定しているため、パッケージのバージョン文字列の変更は現在ブロックされています(詳細は #8200を参照してください)。 PR #1135 はこのバージョン解析を修正し、pypa/packagingプロジェクトの正規表現を使用するようにしました。この正規表現は、 PEP440 パッケージのバージョン解析にプレリリース接尾辞を含むすべてのものを扱います。 これにより、terraはqiskit-ibmq-providerを壊すことなく、 0.21.0rc1 タグをリリースできるようになる。
-
PR #1129
least_busy()メソッドを更新し、 BaseBackend を有効な入出力型としてサポートしないようにした。 は qiskit-terra では長い間非推奨であり、最近削除されたからである。 -
threading.currentThreadおよびnotifyAllは、 Python 3.10 (2021年10月)で非推奨となり、 Python 3.12 (2023年10月)で削除される予定である。 PR #1133 では、これらをthreading.current_threadに置き換え、notify_allでは Python 2.6 を追加した(2008年10月)。 -
dynamic=Trueを使用して量子回路を実行しようとすると、ユーザーに新しいqiskit-ibm-providerをインストールするよう求めるエラーが発生するようになりました。