メインコンテンツへスキップ

テンソルネットワーク誤り軽減(TEM):AlgorithmiqによるQiskit Function

See the API reference

注意

Qiskit Functionsは、IBM Quantum® Premium Plan、Flex Plan、およびOn-Prem(IBM Quantum Platform API経由)Planユーザーのみが利用できる実験的な機能です。プレビューリリース状態であり、変更される可能性があります。

Package versions

このページのコードは以下の要件を使用して開発されました。 これらのバージョンまたはそれ以降の使用を推奨します。

qiskit[all]~=2.4.0

概要

Algorithmiqのテンソルネットワーク誤り軽減(TEM)手法は、古典的な後処理段階 でのみノイズ軽減を実行するために設計されたハイブリッド量子古典アルゴリズム です。TEMを使用すると、量子ハードウェアで不可避的に発生するノイズ誘発エラーを 軽減しながら、オブザーバブルの期待値をより高い精度とコスト効率で計算できるため、 量子研究者および産業界の実務者にとって非常に魅力的な選択肢となっています。

この手法は、量子プロセッサの状態に影響を与えるグローバルノイズチャネルの逆を 表すテンソルネットワークを構築し、そのマップをノイジーな状態から取得した 情報完全な測定結果に適用して、オブザーバブルの不偏推定量を得るというものです。

利点として、TEMは情報完全な測定を活用して膨大なセットの軽減済みオブザーバブル 期待値へのアクセスを提供し、Filippov et al.(2023)、 arXiv:2307.11740、およびFilippov et al.(2024)、arXiv:2403.13542で 説明されているように、量子ハードウェアでの最適なサンプリングオーバーヘッドを 実現します。測定オーバーヘッドとは、効率的な誤り軽減を実行するために必要な 追加測定の数を指し、量子計算の実現可能性における重要な要素です。したがって、 TEMは量子カオス、多体物理、ハバードダイナミクス、小分子化学シミュレーション などの分野のアプリケーションにおいて、複雑なシナリオでの量子優位性を実現する 可能性を持っています。

TEMの主な特徴と利点は以下のようにまとめられます:

  1. 最適な測定オーバーヘッド:TEMは 理論的限界 に対して最適であり、どの手法もこれより小さい測定オーバーヘッドを達成できない ことを意味します。言い換えれば、TEMは誤り軽減を実行するために必要な追加測定の 数が最小です。これは結果として、TEMが最小の量子ランタイムを使用することを 意味します。
  2. コスト効率:TEMは後処理段階でノイズ軽減を完全に処理するため、量子 コンピュータに追加の回路を投入する必要がなく、計算コストを削減するだけでなく、 量子デバイスの不完全性による追加エラーの導入リスクも低減します。
  3. 複数オブザーバブルの推定:情報完全な測定のおかげで、TEMは量子 コンピュータからの同じ測定データで複数のオブザーバブルを効率的に推定します。
  4. 測定誤り軽減:TEM Qiskit Functionには、短いキャリブレーション実行後に 読み取りエラーを大幅に削減できる 独自の測定誤り軽減手法 も含まれています。
  5. 精度:TEMはデジタル量子シミュレーションの精度と信頼性を大幅に向上させ、

説明

TEM関数を使用すると、最小のサンプリングオーバーヘッドで量子回路上の複数の オブザーバブルの誤り軽減済み期待値を取得できます。回路は情報完全正値演算子値 測度(IC-POVM)で測定され、収集された測定結果は古典コンピュータで処理されます。 この測定はテンソルネットワーク手法を実行し、ノイズ逆変換マップを構築するために 使用されます。関数はテンソルネットワークを使用してノイジーな層を表現し、 ノイジーな回路全体を完全に逆変換するマップを適用します。

TEMの模式図

回路が関数に送信されると、トランスパイルおよび最適化が行われ、2量子ビット ゲート(量子デバイスでよりノイジーなゲート)を含む層の数が最小化されます。 層に影響を与えるノイズは、E. van den Berg, Z. Minev, A. Kandala, K. Temme, Nat. Phys.(2023)、 arXiv:2201.09866で説明されているスパース Pauli-Lindbladノイズモデルを使用して Qiskit Runtime を通じて学習されます。

このノイズモデルは、量子ビットのクロストークなどの微妙な特徴を捉えることが できる、デバイス上のノイズの正確な記述です。ただし、デバイス上のノイズは 変動やドリフトする可能性があり、推定が行われる時点で学習されたノイズが正確で ない場合があります。これにより不正確な結果が生じる可能性があります。

はじめに

IBM Quantum Platform APIキーを使用して認証し、以下のようにTEM関数を選択します。(このスニペットでは、既にアカウントをローカル環境に保存していることを前提としています。)

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit qiskit-ibm-catalog
from qiskit_ibm_catalog import QiskitFunctionsCatalog

tem_function_name = "algorithmiq/tem"
catalog = QiskitFunctionsCatalog(channel="ibm_quantum_platform")

# 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(job.status())
QUEUED

結果は以下のように取得できます:

result = job.result()
evs = result[0].data.evs
print(evs[0])
0.02165380888171687
情報

ノイズなし回路での指定された演算子に対する期待値は、おおよそ0.18409094298943401になるはずです。

サポートを受ける

qiskit_ibm@algorithmiq.fiにお問い合わせください。

以下の情報を含めてください:

  • Qiskit FunctionジョブID(qiskit-ibm-catalog)、job.job_id
  • 問題の詳細な説明
  • 関連するエラーメッセージまたはコード
  • 問題を再現する手順

次のステップ