Q.
qiskitのquantum circuitクラスの関数cpなどの量子計算に使う関数をいくつか挙げてください。
A.
Qiskit の QuantumCircuit クラスには、量子計算でよく使うゲート(関数)が多数用意されています。代表的なものを用途ごとにまとめます。
⸻
■ 基本的な1量子ビットゲート
単一の量子ビットに作用する基本操作です。
• x(q):Xゲート(NOTゲート)
• y(q):Yゲート
• z(q):Zゲート
• h(q):アダマール(重ね合わせを作る)
• s(q) / sdg(q):位相ゲート(π/2)
• t(q) / tdg(q):位相ゲート(π/4)
• rx(theta, q):X軸回転
• ry(theta, q):Y軸回転
• rz(theta, q):Z軸回転
⸻
■ 2量子ビットゲート(制御ゲート)
エンタングルメント生成に重要です。
• cx(control, target):CNOTゲート
• cz(control, target):CZゲート
• cy(control, target):CYゲート
• ch(control, target):制御Hゲート
• swap(q1, q2):SWAPゲート
⸻
■ 位相系・制御位相ゲート
質問にあった cp はここに入ります。
• cp(theta, control, target):制御付き位相回転(Controlled Phase)
• crx(theta, c, t):制御RX
• cry(theta, c, t):制御RY
• crz(theta, c, t):制御RZ
👉 cp は量子フーリエ変換(QFT)などで頻出です。
⸻
■ 多重量子ビットゲート
3ビット以上に作用するもの。
• ccx(c1, c2, target):Toffoliゲート
• cswap(control, q1, q2):制御SWAP(Fredkinゲート)
⸻
■ 測定・補助操作
計算結果の取得や回路制御。
• measure(q, c):測定
• measure_all():全量子ビット測定
• barrier():最適化防止の区切り
• reset(q):状態リセット
⸻
■ 回路制御・構造系
• append(gate, qubits):任意ゲート追加
• compose(other_circuit):回路合成
• inverse():逆回路生成
⸻
■ ちょっとした整理ポイント
• cp のようなゲートは「位相操作」
• cx は「エンタングルメント生成の核」
• h + cx は最も基本的な量子回路パターン
⸻
もしよければ、
• 「よく使う最小セット」
• 「QFTやGroverで実際に使うゲート構成」
• 「IonQやIBMで使うときの違い」
なども具体例付きで解説できます。