テンソルネットワーク誤差軽減(TEM):AlgorithmiqによるQiskit関数
APIリファレンスを参照してください
Qiskit 関数は、 IBM Quantum® Premium Plan、Flex Plan、およびオンプレム ( IBM Quantum Platform API 経由) Plan ユーザーだけが利用できる実験的な機能です。 これらはプレビューリリースであり、変更される可能性がある。
このページ上のコードは、以下の要件に基づいて開発されました。 これらのバージョンまたはそれ以降のバージョンを使用することを推奨します。
qiskit[all]~=2.5.1
概要
Algorithmiqのテンソルネットワークエラー緩和(TEM)メソッドは、ハイブリッドな量子-古典アルゴリズムです。 量子-古典アルゴリズムである。 古典的な後処理段階で実行するように設計されています。 TEMを使えば、ユーザーは観測値の期待値を計算することができる。 観測値の期待値を計算することができる。 量子ハードウェアで発生する不可避のノイズによる誤差を、より高い精度とコスト効率で軽減することができる、 量子研究者や産業界にとって非常に魅力的な選択肢となる。 量子研究者や産業界にとって非常に魅力的な選択肢となっている。
この方法は、量子プロセッサの状態に影響を与えるグローバル・ノイズ・チャネルの逆数を表すテンソル・ネットワークを構築し 量子プロセッサの状態に影響を与えるグローバル・ノイズ・チャネルの逆数を表すテンソル・ネットワークを構築する。 そのマップを、ノイズのある状態から得られた情報的に完全な測定結果に適用する。 観測量に対する不偏推定量を得る。
利点として、TEMは情報的に完全な測定を活用し、観測量の緩和された期待値の膨大な集合へのアクセスを提供するとともに、量子ハードウェア上で最適なサンプリングオーバーヘッドを実現する。これはFilippov et al. (2023)、arXiv:2307.11740およびFilippov et al. (2024)で説明されているarXiv:2403.13542 測定オーバーヘッドとは、効率的な誤差軽減を行うために必要な追加測定の数を指し、量子計算の実現可能性における重要な要素である したがって、TEMは量子カオス、多体物理学、ハバードダイナミクス、小分子化学シミュレーションなどの分野における応用など、複雑なシナリオにおいて量子優位性を実現する可能性を秘めている
TEMの主な特徴と利点をまとめると以下のようになる:
- 最適な測定オーバーヘッド :TEMは 理論的境界に関して最適である、 つまり、これより小さい測定オーバーヘッドを達成できる方法はない。 言い換えれば 言い換えれば、TEMはエラー緩和を行うために最小限の追加測定を必要とする。 エラー緩和を実行するために、最小限の追加測定が必要なのです。 これは、TEMが最小限の量子ランタイムを使うことを意味する。
- 費用対効果 :TEMはノイズの軽減をすべて後処理で行うため、量子力学に余分な回路を追加する必要がない。 そのため、量子コンピューターに余計な回路を追加する必要がない。 そのため、計算コストが安くなるだけでなく、量子コンピュータの不完全性によって新たなエラーが発生するリスクも低減できる。 量子デバイスの不完全性に起因する新たなエラーが発生するリスクも低減できる。 デバイスの不完全性に起因する新たなエラー発生のリスクを低減することができる。
- 複数の観測値の推定 :情報的に完全な TEMは、情報的に完全な測定のおかげで、量子コンピュータからの同じ測定データで複数の観測量を効率的に推定することができます。 量子コンピュータからの測定データを用いて、複数の観測量を効率的に推定します。
- 測定誤差の軽減 :TEM Qiskit Functionには、独自の測定誤差軽減法も含まれています。 独自の測定誤差軽減法 短時間の校正で読み出し誤差を大幅に低減することができます。
- 精度 :TEMは、デジタル量子シミュレーションの精度と信頼性を大幅に向上させる。 デジタル量子シミュレーションの精度と信頼性を大幅に向上させ、量子アルゴリズムの精度と信頼性を高める。 信頼性を高めます。
説明
TEM関数を使用すると、量子回路上の複数の観測値について、サンプリング・オーバーヘッドを最小限に抑えながら、エラー軽減された期待値を得ることができます。 を最小限のサンプリングオーバーヘッドで得ることができます。 回路は 回路は、情報的に完全な正演算子値メジャー(IC-POVM)を用いて測定される。 IC-POVM)で測定され、収集された測定結果は古典的なコンピュータで処理される。 で処理される。 この測定は、テンソルネットワーク法 メソッドを実行し、ノイズ・インバージョン・マップを構築する。 この関数は この関数は、テンソル・ネットワークを用いてノイズの多い回路全体を反転させるマップを適用する。 層を表現する。
回路がこの関数に渡されると、トランスパイルされ、2量子ビットゲート(ノイズの多いもの)の層数が最小になるように最適化される。 最適化され、2量子ビットゲート(量子デバイスではノイズの多い 量子デバイス上のノイズの多いゲート)を持つ層の数を最小化するように最適化される。 レイヤーに影響を与えるノイズは Qiskit Runtime で説明されているように、スパース・パウリ・リンドブラッドノイズモデルを用いて学習される。 ヴァン・デン・ベルグ, Z. Minev、A. Kandala、K. Temme、Nat. フィジーク。 (2023). arXiv:2201.09866.
ノイズモデルは、デバイス上のノイズを正確に記述するもので、量子ビットのクロストークなどの微妙な特徴を捉えることができる。 量子ビットのクロストークを含む微妙な特徴を捉えることができる。 しかし しかし、デバイスのノイズは変動やドリフトを起こす可能性があり、学習されたノイズは推定が行われた時点では正確でない可能性がある。 推定が行われる時点では、学習されたノイズは正確ではないかもしれない。 これは不正確な結果をもたらすかもしれない。 の結果になるかもしれない。
使用を開始する
IBM Quantum Platform のAPIキーを使用して認証を行い、次のようにTEM機能を選択してください。 (このスニペットは、アカウントがすでにローカル環境に保存されていることを前提としています。)
from qiskit_ibm_catalog import QiskitFunctionsCatalog
tem_function_name = "algorithmiq/tem"
catalog = QiskitFunctionsCatalog(channel="ibm_quantum_platform")
# verify that you have access to the function
catalog.list()Output:
[QiskitFunction(qunova/hivqe-chemistry),
QiskitFunction(global-data-quantum/quantum-portfolio-optimizer),
QiskitFunction(algorithmiq/tem),
QiskitFunction(qedma/qesem),
QiskitFunction(multiverse/singularity),
QiskitFunction(ibm/circuit-function),
QiskitFunction(q-ctrl/optimization-solver),
QiskitFunction(colibritd/quick-pde),
QiskitFunction(q-ctrl/performance-management),
QiskitFunction(kipu-quantum/iskay-quantum-optimizer)]
# Load your function
tem = catalog.load(tem_function_name)例
次のスニペットは、単純な量子回路を与えられた観測値の期待値を計算するためにTEMを使用した例を示しています。
from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp
# Create a quantum circuit
qc = QuantumCircuit(3)
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)
for _ in range(2):
qc.barrier()
qc.cx(0, 1)
qc.cx(2, 1)
qc.barrier()
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)
# Define the observables
observable = SparsePauliOp("IYX", 1.0)
# Define the execution options
pub = (qc, [observable])
options = {"default_precision": 0.02}
# Define backend to use. TEM will choose the least-busy device
# reported by IBM if not specified
backend_name = "ibm_marrakesh"
# Run the TEM function (uses around three minutes of QPU time)
job = tem.run(pubs=[pub], backend_name=backend_name, options=options)Qiskit Serverless APIを使用して、Qiskit Functionワークロードの状態を確認します:
# Print the ID so you can use it later, if necessary
print(job.job_id)
print(job.status())Output:
ea1d7802-b067-4cc9-af39-3c2402d22413
QUEUED
として結果を返すことができる:
result = job.result()
evs = result[0].data.evs
print(evs[0])Output:
-0.10628832892063486
与えられた演算子に対するノイズレス回路の期待値は、 0.18409094298943401 程度のはずである。
サポートの利用
リーチアウト to qiskit [email protected]
次の情報を必ずご記入ください。
- Qiskit 職務ID (
qiskit-ibm-catalog)、job.job_id - 問題の詳細
- 関連するエラーメッセージやコード
- 問題を再現する手順
次のステップ
- AlgorithmiqのTensor-networkエラー軽減機能へのアクセス権をリクエストしてください。
- このQiskit関数の APIリファレンスをご覧ください。