Qiskit 量子回路関数

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で使うときの違い」

なども具体例付きで解説できます。