PennyLane 使用方法 : 量子演算 (翻訳)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 10/21/2019
* 本ページは、PennyLane : Using PennyLane の次のページを翻訳した上で適宜、補足説明したものです:
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
$$
\def\bra#1{\mathinner{\left\langle{#1}\right|}}
\def\ket#1{\mathinner{\left|{#1}\right\rangle}}
\def\braket#1#2{\mathinner{\left\langle{#1}\middle|#2\right\rangle}}
$$
使用方法 : 量子演算
PennyLane は、ゲート、状態準備そして測定観測可能量のような広範囲の量子演算をサポートします。これらの演算は次の例で示されるように量子関数内でだけ使用できます :
import pennylane as qml def my_quantum_function(x, y): qml.RZ(x, wires=0) qml.CNOT(wires=[0,1]) qml.RY(y, wires=1) return qml.expval(qml.PauliZ(1))
この量子関数は RZ, CNOT, RY ゲート そして PauliZ 観測可能量 を使用しています。
ここで PennyLane によりサポートされる総ての量子演算のリストを見つけます、API にリンクしています。
量子演算
量子ゲート
CNOT | 制御-NOT 演算子 |
CRot | 制御-Rot 演算子 |
CRX | 制御-RX 演算子 |
CRY | 制御-RY 演算子 |
CRZ | 制御-RZ 演算子 |
CSWAP | 制御-swap 演算子 |
CZ | 制御-Z 演算子 |
Hadamard | Hadamard 演算子 |
PauliX | Pauli X 演算子 |
PauliY | Pauli Y 演算子 |
PauliZ | Pauli Z 演算子 |
PhaseShift | 任意のシングル量子ビット局所位相シフト |
QubitUnitary | 任意の固定ユニタリ行列を適用する |
Rot | 任意のシングル量子ビット回転 |
RX | シングル量子ビット X 回転 |
RY | シングル量子ビット Y 回転 |
RZ | シングル量子ビット Z 回転 |
S | シングル量子ビット位相ゲート |
SWAP | swap 演算子 |
T | シングル量子ビット T ゲート |
量子ビット状態準備
BasisState | シングル計算基底状態を準備する |
QubitStateVector | 計算基底で与えられたケットベクトルを使用してサブシステムを準備する |
量子ビット観測可能量
Hadamard | Hadamard 演算子 |
Hermitian | 任意の Hermitian 観測可能量 |
PauliX | Pauli X 演算子 |
PauliY | Pauli Y 演算子 |
PauliZ | Pauli Z 演算子 |
連続変数 (CV) 演算
CV ゲート
Beamsplitter | Beamsplitter 相互作用 |
ControlledAddition | 制御 addition 演算 |
ControlledPhase | 制御位相演算 |
CrossKerr | Cross-Kerr 相互作用 |
CubicPhase | Cubic 位相シフト |
Displacement | 位相空間 displacement |
Interferometer | A linear interferometer transforming the bosonic operators according to the unitary matrix $U$. |
Kerr | Kerr 相互作用 |
QuadraticPhase | Quadratic 位相シフト |
Rotation | 位相空間回転 |
Squeezing | 位相空間 squeezing |
TwoModeSqueezing | 位相空間 two-mode squeezing |
CV 状態準備
CatState | cat 状態を準備する。 |
CoherentState | coherent 状態を準備する。 |
DisplacedSqueezedState | displaced squeezed 真空状態を準備する。 |
FockDensityMatrix | Fock 基底で与えられた密度行列を使用してサブシステムを準備する。 |
FockState | シングル Fock 状態を準備する。 |
FockStateVector | Fock 基底で与えられたケット・ベクトルを使用してサブシステムを準備する。 |
GaussianState | 与えられた Gaussian 状態でサブシステムを準備する。 |
SqueezedState | squeezed 真空状態を準備する。 |
ThermalState | thermal 状態を準備する。 |
CV 観測可能量
FockStateProjector | number 状態観測可能量 $\ket{n}\bra{n}$ |
NumberOperator | 光量子 number 観測可能量 $\langle \hat{n}\rangle$ |
P | モメンタム quadrature 観測可能量 $\hat{p}$ |
PolyXP | 任意の二次多項式観測可能量. |
QuadOperator | 一般化 quadrature 観測可能量 $\hat{x}_\phi = \hat{x} cos\phi+\hat{p}\sin\phi$ |
X | 位置 quadrature 観測可能量 $\hat{x}$ |
共有演算
量子ビットと連続変数アーキテクチャの両者により共有される唯一の演算は Identity です。
Identity | Identity 観測可能量 $\hat{I}$ |
以上