Double-Slit Experiment

On one multiway branch, the particle goes through the left slit, and one the other branch, the particle goes through the right:
ResourceFunction["MultiwaySystem"][{"A""L","A""R","L""LL","R""RR"},"A",4,"StatesGraph"]
In[]:=
Out[]=
These two branches are causally disconnected:
ResourceFunction["MultiwaySystem"][{"A""L","A""R","L""LL","R""RR"},"A",4,"EvolutionCausalGraph"]
In[]:=
Out[]=
Upon performing a measurement, the particle is able to go through both slits simultaneously and interfere with itself:
ResourceFunction["MultiwaySystem"][{"A""L","A""R","L""LL","R""RR"},"CanonicalKnuthBendixCompletion"]
In[]:=
{LR,RL}
Out[]=
ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",4,"StatesGraph"]
In[]:=
Out[]=
ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",4,"CausalInvariantQ"]
In[]:=
True
Out[]=
The two branches are now causally connected:
ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",4,"EvolutionCausalGraph"]
In[]:=
Out[]=
ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",6,"StatesGraph"]
In[]:=
Out[]=
ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",6]
In[]:=
Out[]=
Characters/@Last[%]
In[]:=
Out[]=
Counts/@%
In[]:=
Out[]=
Counts[%]
In[]:=
Out[]=
Histogram[%]
In[]:=
Out[]=
Histogram[Counts[Counts/@Characters/@Last[ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",10]]]]
In[]:=
Out[]=
Last[ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",6]]
In[]:=
{L,LL,LLL,LLLL,LLLLL,LLLLLL,LLLLR,LLLR,LLLRL,LLLRR,LLR,LLRL,LLRLL,LLRR,LLRRL,LLRRR,LR,LRL,LRLL,LRLLL,LRLR,LRR,LRRL,LRRLL,LRRR,LRRRL,LRRRR,R,RL,RLL,RLLL,RLLLL,RLLLR,RLLR,RLLRR,RLR,RLRL,RLRR,RLRRR,RR,RRL,RRLL,RRLLL,RRLLR,RRLR,RRLRR,RRR,RRRL,RRRLL,RRRLR,RRRR,RRRRL,RRRRR,RRRRRR}
Out[]=
Last[ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"}],"A",6]]
In[]:=
{LLLLLL,RRRRRR}
Out[]=
ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",8,"StatesGraphStructure"]
In[]:=
Out[]=
LayeredGraphPlot[ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",6,"StatesGraphStructure"],AspectRatio1/2]
In[]:=
Out[]=
LayeredGraphPlot[ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",6,"StatesGraph"],AspectRatio1/2]
In[]:=
Out[]=
LayeredGraphPlot[ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",4,"StatesGraph"],AspectRatio1/2]
In[]:=
Out[]=
LayeredGraphPlot[ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L","R""X"}],"A",4,"StatesGraph"],AspectRatio1/2]
In[]:=
Out[]=
LayeredGraphPlot[ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR","A""r"},{"L""R","R""L"}],"A",4,"StatesGraph"],AspectRatio1/2]
In[]:=
Out[]=
LayeredGraphPlot[ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL"},{"L""R","R""X"}],"A",4,"StatesGraph"],AspectRatio1/2]
In[]:=
Out[]=
ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",8,"BranchialGraphStructure"]
In[]:=
Out[]=
Table[ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",t,"BranchialGraphStructure"],{t,7}]
In[]:=
Out[]=
Table[ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",t,"BranchialGraph"],{t,6}]
In[]:=
Out[]=
Table[ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",t,"BranchialGraph","IncludeStatePathWeights"True],{t,6}]
In[]:=
Out[]=
ListLinePlot[PropertyValue[ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",8,"EvolutionGraphWeighted"],EdgeWeight]]
In[]:=
Out[]=
evo=ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",5,"EvolutionGraphWeighted","IncludeStatePathWeights"True];
In[]:=
evo
In[]:=
Out[]=
Transpose[{Last/@VertexList[#],AnnotationValue[#,VertexWeight]}&[Subgraph[evo,Cases[VertexList[evo],x:(5_)x]]]]
In[]:=
Out[]=
Transpose[{Last/@VertexList[#],AnnotationValue[#,VertexWeight]}&[Function[evo,Subgraph[evo,Cases[VertexList[evo],x:(6_)x]]][ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",6,"EvolutionGraphWeighted","IncludeStatePathWeights"True]]]]
In[]:=
Out[]=
BarChart[Last/@%]
In[]:=
Out[]=
BarChart[Last/@Transpose[{Last/@VertexList[#],AnnotationValue[#,VertexWeight]}&[Function[evo,Subgraph[evo,Cases[VertexList[evo],x:(8_)x]]][ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",8,"EvolutionGraphWeighted","IncludeStatePathWeights"True]]]]]
In[]:=
Out[]=
data=Last/@Transpose[{Last/@VertexList[#],AnnotationValue[#,VertexWeight]}&[Function[evo,Subgraph[evo,Cases[VertexList[evo],x:(8_)x]]][ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",8,"EvolutionGraphWeighted","IncludeStatePathWeights"True]]]];
In[]:=
ListLinePlot[MovingAverage[data,10],PlotRangeAll]
In[]:=
Out[]=
RLCoordinate[string_]:=(Count[#,"R"]-Count[#,"L"])&[Characters[string]]
In[]:=
Transpose[{Last/@VertexList[#],AnnotationValue[#,VertexWeight]}&[Function[evo,Subgraph[evo,Cases[VertexList[evo],x:(5_)x]]][ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",5,"EvolutionGraphWeighted","IncludeStatePathWeights"True]]]]
In[]:=
Out[]=
SortBy[{#[[1,1]],Total[Last/@#]}&/@GatherBy[{RLCoordinate[#1],#2}&@@@%80,First],First]
In[]:=
{{-5,24},{-4,6},{-3,20},{-2,49},{-1,31},{0,40},{1,31},{2,49},{3,20},{4,6},{5,24}}
Out[]=
ListLinePlot[%]
In[]:=
Out[]=
Transpose[{Last/@VertexList[#],AnnotationValue[#,VertexWeight]}&[Function[evo,Subgraph[evo,Cases[VertexList[evo],x:(8_)x]]][ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",8,"EvolutionGraphWeighted","IncludeStatePathWeights"True]]]];
In[]:=
ListLinePlot[SortBy[{#[[1,1]],Total[Last/@#]}&/@GatherBy[{RLCoordinate[#1],#2}&@@@%,First],First]]
In[]:=
Out[]=
Transpose[{Last/@VertexList[#],AnnotationValue[#,VertexWeight]}&[Function[evo,Subgraph[evo,Cases[VertexList[evo],x:(9_)x]]][ResourceFunction["MultiwaySystem"][Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",9,"EvolutionGraphWeighted","IncludeStatePathWeights"True]]]];
In[]:=
ListLinePlot[SortBy[{#[[1,1]],Total[Last/@#]}&/@GatherBy[{RLCoordinate[#1],#2}&@@@%,First],First]]
In[]:=
Out[]=
? related to quantum random walks
WeightedBranchialGraph[rule_,init_,t_,mult_:1,labs_:True]:=WeightedBranchial[Graph[ResourceFunction["MultiwaySystem"][rule,init,t,"BranchialGraphStructure","IncludeStatePathWeights"True],If[labs,VertexLabels"VertexWeight",{}]],mult];
In[]:=
WeightedBranchial[g_,mult_:12]:=With[{cc=AnnotationValue[g,VertexWeight]},Graph[g,VertexStyleRed,VertexSizeThread[VertexList[g]mult*(cc/Sqrt[Total[cc^2]])]]];​​Table[WeightedBranchialGraph[Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",t,{.2,.6,1,2,3,5}[[t-1]],t≤5],{t,1,6}]
In[]:=
Out[]=
WeightedBranchialGraph[rule_,init_,t_,mult_:1,labs_:True]:=WeightedBranchial[Graph[ResourceFunction["MultiwaySystem"][rule,init,t,"BranchialGraphStructure","IncludeStatePathWeights"True],VertexLabelsAutomatic],mult];
In[]:=
WeightedBranchial[g_,mult_:12]:=With[{cc=AnnotationValue[g,VertexWeight]},Graph[g,VertexStyleRed,VertexSizeThread[VertexList[g]mult*(cc/Sqrt[Total[cc^2]])]]];​​Table[WeightedBranchialGraph[Join[{"A""L","A""R","L""LL","R""RR"},{"L""R","R""L"}],"A",t,{.2,.6,1,2,3,5}[[t-1]],t≤5],{t,1,6}]
In[]:=
Out[]=
ψ(string)
2
Abs[ψ]
: related to path weights
phase :
iS/ℏ
e
Is it merely a convention that the magnitude and phase of the wave function are packaged together?
<
b
,

x
GraphEmbedding[]
In[]:=
{{1.78234,0.},{1.02329,0.645117},{2.53917,0.645714},{1.02369,0.0566241},{1.78259,0.701701},{2.53928,0.056291},{0.000632025,0.69425},{0.,0.0078956},{3.56225,0.693435},{3.56156,0.00837909}}
Out[]=
Complex@@@%36
In[]:=
{1.78234+0.,1.02329+0.645117,2.53917+0.645714,1.02369+0.0566241,1.78259+0.701701,2.53928+0.056291,0.000632025+0.69425,0.+0.0078956,3.56225+0.693435,3.56156+0.00837909}
Out[]=

Filtering for fixed length

ggg=;
In[]:=
Subgraph[ggg,Select[VertexList[ggg],StringLength[#]4&]]
In[]:=
Out[]=
Table[Graph[Subgraph[ggg,Select[VertexList[ggg],StringLength[#]s&]],ImageSizeTiny],{s,6}]
In[]:=
Out[]=

Bell’s Theorem

ResourceFunction["MultiwaySystem"][{"AX""XA","XA""AX"},"XAAX",2,"StatesGraph"]
In[]:=
Out[]=
ResourceFunction["MultiwaySystem"][{"AX""XA","XA""AX"},"XAAX",2,"EvolutionCausalGraph"]
In[]:=
Out[]=
ResourceFunction["MultiwaySystem"][{"AX""XA","XA""AX"},"CanonicalKnuthBendixCompletion"]
In[]:=
{AAXXAA,XAAAAX,AXXXXA,XXAAXX}
Out[]=
ResourceFunction["MultiwaySystem"][Join[{"AX""XA","XA""AX"},{"AAX""XAA","XAA""AAX","AXX""XXA","XXA""AXX"}],"XAAX",2,"EvolutionCausalGraph"]
In[]:=
Out[]=