Wyle form, 正準交換関係, 非可換トーラス

  • 量子力学では、物理量が作用素
  • 二つの作用素P,Qがあったとき、非可換なこともありPQ-QP = a\times I  \ne 0
  • これと二つの物理量を同時に測定できないこととかが関係する
  • 他方、このような非可換作用の幾何の例として非可換トーラスと言うものがある
  • 非可換トーラスは、正方形の紙の左右の辺を普通に貼り合わせ、その紙の上下の辺をずらして張り合わせることで作る、という話がある
  • この2つの話をつなぐときに出てくるのがWyle form(Wiki 記事)
  • 今、非可換作用素P,Qは有限次元正方行列では実現できないことが知られている。その証明としてあちこちで見つけられるのはtr(PQ-QP) = tr(PQ) - tr(QP) = 0 だが、tr(a \times I) \ne 0という話。要するに、作用素P,Qには(正方)行列表現があってほしいが、有限サイズの行列では不可能、ということ。言い換えると、非可換な物理量を考えるとき、無限サイズを考えなくてはならない、と言う話
  • 無限サイズの行列を考えればよいのであれば、数学的にはそうすればよいだけのことだけれど、無限が想像しにくい人にとってはつらいので、少し、判りやすく、有限次元行列で、それっぽさを表せないか、というのが、Wyle form(理解力の乏しい人のために出てきたものではないのだろうが、結果として、その役に立つ)
  • 今、量子力学での作用素に対応する行列P,Qはエルミート行列である(らしい)
  • エルミート行列には、もれなくユニタリ行列が対応していてU = exp(i \times P)というような関係がある
  • 今、エルミート(無限次元)行列P,QがPQ - QP = -ihのとき、U_s = exp(is P), V_t = exp(it Q)というようなユニタリ行列が、(実)パラメタs,tを使って対応付けられて、U_s V_t = exp(-ihst) V_t U_sとなると言う
  • P,Qは無限次元なので、それに対応するU,Vも無限には作れないので、この式が成り立つと言われても、たいして理解が進むわけではない。
  • 。。。が、よくある説明は、このU_sはある関数fに作用して、f(x) \to f(x-hs)と定数シフトをする作用素であり、V_tは関数fに作用してf(x) \to exp(itx) f(x)のように値を倍する作用素である、との説明がなされる
  • このようにU,Vの作用の「意味」が解って来ると、本来、U,Vは無限次元行列だが、その有限版を作ることは思いつく
  • 定数シフトUとはどういうことかというと、世界を離散的に区切ってやれば、そして、世界が閉じていれば、対角成分が0で第一オフダイアゴナル成分が1で、かどっこにもう一つ1が立っているような置換行列を代表例として取ることができる
  • また、値を複素数倍する行列Vは、対角行列であって、その対角成分が、1のn乗根であるようなそれを想定することができる
  • この2種類の行列は the clock and shift matrices と呼ばれる(こちら)
  • そうしたときに、UVとVUの関係は、1のn乗根倍という関係で繋がっていることを有限行列で示すことは容易である
  • Rでやってみる
library(complexplus)

d <- 3

# 1のd乗根
w <- exp(2 * pi * 1i /d)
w^d # 1

wd <- w^(0:(d-1))

# Uは置換行列
U <- diag(rep(1,d))
U <- U[,c(2:d,1)]
U
# Vは(x-1)^d=0の根を対角成分とする対角行列
V <- diag(wd)
V

UV <- U %*% V
VU <- V %*% U

k <- w

round(k * UV - VU) # 0

# U,Vからその対数関数をとって、有限次元版 P, Qを作っても、PQ -QP=a Iとはならない
P <- matlog(U) * 1i
Q <- matlog(V) * 1i

P
Q

P %*% Q - Q %*% P
> U
     [,1] [,2] [,3]
[1,]    0    0    1
[2,]    1    0    0
[3,]    0    1    0
> # Vは(x-1)^d=0の根を対角成分とする対角行列
> V
     [,1]            [,2]            [,3]
[1,] 1+0i  0.0+0.0000000i  0.0+0.0000000i
[2,] 0+0i -0.5+0.8660254i  0.0+0.0000000i
[3,] 0+0i  0.0+0.0000000i -0.5-0.8660254i

> round(k * UV - VU) # 0
     [,1] [,2] [,3]
[1,] 0+0i 0+0i 0+0i
[2,] 0+0i 0+0i 0+0i
[3,] 0+0i 0+0i 0+0i