- こちらで「量子確率論とその応用」をぱらぱらめくった
- 文書を抜き書きしただけで、特に数式についてはあえて端折った
- この記事では、数式関連の抜き書きをする
- 直交多項式は以下のような漸化式で表される
- ここで、がヤコビ系数列
- ヒルベルト空間の正規直交基底があって、それらは、3つの作用素によって以下のような関係にある
- また、次のような関係がある
- で、モーメントは
- Rのorthopolynomパッケージを使うと、直交多項式が作れる
library(orthopolynom)
p.0 <- polynomial( c( 1 ) )
n <- 10
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")
- こんな問題設定
- ある関数V1とV2とがある
- 何かの拍子で、それらと正規直交基底のそれぞれとの内積がわかったとする
- この2つの関数の正規直交基底との内積が、それぞれの「モーメント」から算出できるとき、それぞれのモーメント列がわかれば、その確率関数ペアの内積は求まりそうだ・・・
- その時、V1とV2との内積はなので
- ちょっと有限次元でやっておく
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