高校数学の質問スレ(国立医・東大合格者専用) Part439 (168レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
72: 07/13(日)19:42 ID:e8531cY2(1/3) AAS
# Bell-CHSH 不等式の体感
Bell_CHSH =\(N=1000){
Alice=matrix(0,2,N)
Bob=matrix(0,2,N)
particles=as.matrix(expand.grid(replicate(4,c(-1,1),simplify=FALSE)))
for(i in 1:N){
launched=particles[sample(1:16,1),]
ai=sample(1:2,1)
Alice[1,i]=ai
Alice[2,i]=launched[ai]
bi=sample(1:2,1)
Bob[1,i]=bi
Bob[2,i]=launched[bi+2]
}
observed=rbind(Alice,Bob)
rownames(observed)=c("ai","a","bi","b")
d=observed
A1B2=d[,d["ai",]==1 & d["bi",]==2]
rA1B2=mean(A1B2["a",]*A1B2["b",])
A1B1=d[,d["ai",]==1 & d["bi",]==1]
rA1B1=mean(A1B1["a",]*A1B1["b",])
A2B1=d[,d["ai",]==2 & d["bi",]==1]
rA2B1=mean(A2B1["a",]*A2B1["b",])
A2B2=d[,d["ai",]==2 & d["bi",]==2]
rA2B2=mean(A2B2["a",]*A2B2["b",])
S=rA1B1+rA2B2-rA1B2+rA2B1
return(S)
}
res=replicate(1000,Bell_CHSH())
all(abs(res)<=2)
73(2): 07/13(日)19:44 ID:e8531cY2(2/3) AAS
AIにコメント付加と最適化を委ねる。
# Bell-CHSH 不等式シミュレーションの最適化版
Bell_CHSH_optimized <- function(N = 1000) {
# N個の粒子に対して、AliceとBobの測定設定 (ai, bi) と結果 (a, b) を一括で生成
# 測定設定は1か2、結果は-1か1
ai <- sample(c(1, 2), N, replace = TRUE)
bi <- sample(c(1, 2), N, replace = TRUE)
# 粒子 (particles) はアリスとボブの測定結果の組み合わせとして直接生成
# 局所実在論の観点から、各粒子はあらかじめ測定結果を持つと仮定
# Aliceの測定結果 (a1, a2) と Bobの測定結果 (b1, b2)
# -1と1の組み合わせをN個生成
particles_a1 <- sample(c(-1, 1), N, replace = TRUE)
particles_a2 <- sample(c(-1, 1), N, replace = TRUE)
particles_b1 <- sample(c(-1, 1), N, replace = TRUE)
particles_b2 <- sample(c(-1, 1), N, replace = TRUE)
# 実際の測定結果を、設定 (ai, bi) に基づいて取得
a <- ifelse(ai == 1, particles_a1, particles_a2)
b <- ifelse(bi == 1, particles_b1, particles_b2)
# AliceとBobの測定設定の組み合わせに基づいて、積の平均を計算
# 各組み合わせのインデックスを事前に計算
idx_A1B1 <- (ai == 1 & bi == 1)
idx_A1B2 <- (ai == 1 & bi == 2)
idx_A2B1 <- (ai == 2 & bi == 1)
idx_A2B2 <- (ai == 2 & bi == 2)
# 対応する積の平均を計算(条件に合致するデータがない場合を考慮し、NaNを0として扱う)
rA1B1 <- mean(a[idx_A1B1] * b[idx_A1B1])
rA1B2 <- mean(a[idx_A1B2] * b[idx_A1B2])
rA2B1 <- mean(a[idx_A2B1] * b[idx_A2B1])
rA2B2 <- mean(a[idx_A2B2] * b[idx_A2B2])
# Bell-CHSH不等式のS値を計算
S <- rA1B1 + rA2B2 - rA1B2 + rA2B1
省10
74(2): 07/13(日)19:53 ID:e8531cY2(3/3) AAS
問題 >73をデバッグせよ。
Rが使える前提での話。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.012s