エッセンス:量子確率論

  • こちらで「量子確率論とその応用」をぱらぱらめくった
  • 文書を抜き書きしただけで、特に数式についてはあえて端折った
  • この記事では、数式関連の抜き書きをする
  • 直交多項式は以下のような漸化式で表される
    • P0(x)=1
    • P1(x)=xα1
    • Pn+1(x)=(xαn+1)Pn(x)+wnPn1(x)
  • ここで、{αn}n=1,{wn}n=1},αnR,wn0がヤコビ系数列
  • ヒルベルト空間の正規直交基底{Φn}n=0があって、それらは、3つの作用素によって以下のような関係にある
    • B+Φn=wn+1Φn+1
    • BΦ0=0,BΦn=wnΦn1
    • BoΦ0=αn+1Φn
  • また、次のような関係がある
    • U:Φn1ni=1wiPn
  • で、モーメントは
    • E(Xm)=xmμ(dx)=<P0,QmP0>=<Φ0,(B++Bo+B)mΦ0>
  • Rのorthopolynomパッケージを使うと、直交多項式が作れる
library(orthopolynom)
p.0 <- polynomial( c( 1 ) )
n <- 10
# ckpk+1 (x) = (dk + ekx) pk (x) − fkpk−1 (x)
# rec should specify ck,dk,ek and fk
# p_(n+1) = (x-alhap_n) p_n + w_(n-1) p_(n-1) が作りたい
rec <- data.frame(c=rep(1,n),d=-rnorm(n),e=rep(1,n),f=runif(n))
p.list <- orthonormal.polynomials( rec, p.0 )
p.list
x <- seq(from= -1,to=1,length=101)
ys <- polynomial.values(p.list,x)
ys.mat <- matrix(unlist(ys),ncol=length(p.list))
matplot(x,ys.mat,type="l")

f:id:ryamada22:20200502120320p:plain

  • こんな問題設定
    • ある関数V1とV2とがある
    • 何かの拍子で、それらと正規直交基底Rのそれぞれとの内積V1TR,V2TRがわかったとする
      • この2つの関数の正規直交基底との内積が、それぞれの「モーメント」から算出できるとき、それぞれのモーメント列がわかれば、その確率関数ペアの内積は求まりそうだ・・・
    • その時、V1とV2との内積V1TV2=(V1TR)(V2TR)T=V1TRRTV2=V1TIV2なので
    • ちょっと有限次元でやっておく
d <- 3
R <- GPArotation::Random.Start(d)
V1 <- rnorm(d)
V2 <- rnorm(d)
sum(V1*V2)
IP1 <- matrix(V1,nrow=1) %*% R
IP2 <- matrix(V2,nrow=1) %*% R
sum(IP1 * IP2)
> sum(V1*V2)
[1] -1.460819
> IP1 <- matrix(V1,nrow=1) %*% R
> IP2 <- matrix(V2,nrow=1) %*% R
> sum(IP1 * IP2)
[1] -1.460819