PennyLane : 使用方法 : 量子演算

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}$

 

以上