量子計算で基本的なパウリ演算について書いておこうと思います。
パウリ演算子
パウリ演算子は量子ゲートの基本的な操作で、それぞれブロッホ球のXYZ軸周りの180度回転に対応します。
X = [[0, 1],
[1, 0]]
Y = [[0, -i],
[i, 0]]
Z = [[1, 0],
[0, -1]]
複数のパウリ演算
複数のパウリ演算子は回転に対応するため様々な表記方法があります。
numpyで確認してみます。
import numpy as np
X = np.array([[0, 1],
[1, 0]])
Y = np.array([[0, -1j],
[1j, 0]])
Z = np.array([[1, 0],
[0, -1]])
これを使って、
X@Y
#=>
array([[0.+1.j, 0.+0.j],
[0.+0.j, 0.-1.j]])
#XY = -iZ
X@Z
#=>
array([[ 0, -1],
[ 1, 0]])
#XZ = -iY
Y@Z
#=>
array([[0.+0.j, 0.+1.j],
[0.+1.j, 0.+0.j]])
#YZ = -iX
また、その他のパウリ演算子の積は、
X@X
#=>
array([[1, 0],
[0, 1]])
Y@Y
#=>
array([[1.+0.j, 0.+0.j],
[0.+0.j, 1.+0.j]])
Z@Z
#=>
array([[1, 0],
[0, 1]])
これより、
XX = YY = ZZ = I
また、
XY = -YX
YZ = -ZY
ZX = -XZ
などがなりたつ。