正準交換関係にある2つの行列の無限次元版
- 昨日の記事
Wyle form, 正準交換関係, 非可換トーラス - ryamadaのコンピュータ・数学メモ
で、非可換トーラス絡みのことを書いた
- 非可換トーラスを具体的に想定するときに、clock and shift matricesというのが使える、と言う話も書いた
- そのことは、量子力学における二つの物理量に対応する作用素行列が非可換であること()と関係があるが、有限次元作用素行列では、このようなPQの実現ができないことも書いた
- その代わり、作用素行列がエルミート行列Hであるときという対応を取れば、は に対応するというWyle formがあるという話もした
- このU,Vはclock and shift 行列として実現できて、有限次元正方行列表現が与えられるのだった
- この有限次元clock and shift 行列の対数関数を取ることで、P,Qを作れる。有限次元のままだと、は実現できないが、clock and shift行列の次元を上げていくと、どういう行列ができるのか、それの対数関数を取ると、どういうことになるのか、は計算機実験できるだろう
- ということでやってみる
- clock行列というのは、対角行列であって、対角成分が、なる行列である
- これの対数関数は、単純に対角成分の対数を取るだけなので、対角成分がというような行列である。これの無限次元極限は、対角成分が、0からまで等間隔で増えるような関数である
- 他方、shift 行列は、オフダイアゴナル成分が1で、1か所だけ、右上隅に1が立つような行列である。これの対数関数は次のような性質を持つ
- 対角成分は0
- 1行目は、0に引き続いて、大きく負になり、次に、正に転じて、また負、というように正負の値を交互に取る。最後の値は、2番目の値(負の値)の絶対値になる
- この1行目の値のシリーズの振動は、両端の絶対値が大きく、中央は0に近い
- 行列全体としては、この1行目の値のシリーズを一列ずつずらした形となるので、オフダイアゴナルの値は一定、オフオフダイアゴナルの値も一定、というような行列で、歪対称になる
- 無限大に飛ばすと、最初の成分は0で、2番目と最後の値がある値を取って、符号が逆。それ以外の値は0に収束する方向で変化していくが、さらなる極限を考えると次のようになる
- 1行目の2番目と最後の値とは、他の行では対角成分をサンドイッチする成分に対応するが、その値が符号違いで大きさのある値になり、対角成分をゼロに「切り違う」。このことを極限に突き詰めると、サンドイッチ成分も結局は0に収束し、対角成分に「切り違い」に相当する値が現れることに相当します。それは、実数で考えるとゼロだが、何か隠れた値である、と言うことになります
- 結局、対角成分が純虚数であるような対角行列と言うことになるのでしょう。しかも、すべての対角成分は同じ純虚数。ただし、やはり切り違っている関係上、対角成分の値には、左側から作用するときと右側から作用するときとで、正負が異なるような不思議なものになるようです。
- このようにすると、clock行列の対数関数は、対角成分がなので、それを使って対応するエルミート行列を取れば、対角線になる関数が立っている無限次元対角行列
- また、shift 行列の対数関数は、対角成分がある純虚数でそろっている対角行列となり、それに対応するエルミート行列は、単位行列の定数倍に見える行列。ただし、右からかけた場合と左からかけた場合で対角成分の符号が異なる、というような行列
- PQとQPとはどちらも対角成分2個の積になるけれど、片方の対角行列が右作用・左作用で符号が変わるため、PQとQPの符号が違うため、PQ-QPは0にならない、と。そんな感じのようだ
- ただし、このままだと、というように、単位行列の定数倍にならない。どこかに何かの工夫が要るのかもしれない・・・。clock行列の対角成分は足して0(トレースが0)だが、これを、次元乗すると、単位行列になることはなる・・・。したがって、右辺はになる、というより、Iは単位行列ではなくてIの●乗根行列と言うことなのかもしれない・・・
d <- 100 w <- exp(2*pi*1i*(0:(d-1))/d) P <- diag(w) P. <- matlog(P) plot(Im(diag(P.))) d <- 3 Q3 <- diag(rep(1,d)) Q3 <- Q3[,c(2:d,1)] Q.3 <- matlog(Q3) plot(Q.3[1,]) d <- 5 Q5 <- diag(rep(1,d)) Q5 <- Q5[,c(2:d,1)] Q.5 <- matlog(Q5) plot(Q.5[1,]) d <- 7 Q7 <- diag(rep(1,d)) Q7 <- Q7[,c(2:d,1)] A <- Q7 Q.7 <- matlog(Q7) plot(Q.7[1,]) d <- 9 Q9 <- diag(rep(1,d)) Q9 <- Q9[,c(2:d,1)] Q.9 <- matlog(Q9) plot(Q.9[1,]) d <- 101 Q11 <- diag(rep(1,d)) Q11 <- Q11[,c(2:d,1)] Q.11 <- matlog(Q11) plot(Q.11[1,]) image(Q.11)