量子アルゴリズム:位相推定
備考
Kento Ueda(2024年5月15日)
このノートブックでは、量子フーリエ変換(QFT)と量子位相推定(QPE)の基本概念と実装について説明します。
元の講義のPDFをダウンロードできます。コードスニペットは静止画像のため、一部が非推奨になっている場合があります。
この実験の実行に必要な QPU 時間の目安は約 7 秒です。
1. はじめに
量子フーリエ変換(QFT)
量子フーリエ変換は、古典的な離散フーリエ変換の量子版です。量子状態に適用される線形変換であり、計算基底をフーリエ基底表現にマッピングします。QFT は多くの量子アルゴリズムにおいて重要な役割を担っており、量子状態から周期性の情報を効率的に抽出する手法を提供します。 QFT は、 Qubit に対してアダマールゲートや制御位相ゲートなどの量子ゲートを 回の演算で実装でき、古典的なフーリエ変換に対する指数的な高速化を実現します。
- 応用例:大きな整数の素因数分解や離散対数を求める Shor のアルゴリズムなど、量子 アルゴリズムの基盤となっています。
量子位相推定(QPE)
量子位相推定は、ユニタリ演算子の固有ベクトルに対応する位相を推定するための量子アルゴリズムです。このアルゴリズムは、量子状態の抽象的な数学的性質と計算上の応用との橋渡しをします。
- 応用例:ユニタリ行列の固有値の探索や量子システムのシミュレーションなどの問題を解くことができます。
QFT と QPE を組み合わせることで、古典コンピュータでは困難な多くの問題を解く量子アルゴリズムの本質的な基盤が形成されます。このノートブックを通じて、これらの技法がどのように実装されるかを理解できるようになります。
2. 量子フーリエ変換(QFT)の基礎
# Added by doQumentation — required packages for this notebook
!pip install -q numpy qiskit qiskit-aer qiskit-ibm-runtime
from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister
from qiskit_aer import AerSimulator
from qiskit.visualization import plot_histogram, plot_bloch_multivector
from qiskit.quantum_info import Statevector
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
from qiskit_ibm_runtime import Sampler
from numpy import pi
離散フーリエ変換との類比から、QFT は Qubit の量子状態 に作用し、量子状態 にマッピングします。
ここで です。
またはユニタリ行列表現として: