Deducing commutativity relations from string multiway systems​
​by Miles Mountney​
University College London

Code


Motivations

Vital principles in Quantum Mechanics, such as the Spin-Statistics theorem [1] and the Pauli Exclusion Principle, rely on the commutativity between two operators. Can we understand this property in the context of The Wolfram Model? In what follows we will begin to attempt this by considering string multiway path systems.

Introduction

We must first understand what it means for two operators to commute in string multiway systems. We can think of the string rewriting rules (e.g. ab) as operators in this system. If the system is initially a single state (i.e. string), then two operators
O
1
,
O
2
commute if
O
1
O
2
and
O
2
O
1
resolve to the same state [2]. For example,
In[]:=
ResourceFunction["MultiwaySystem"][{"AB""BA","BA""AB"},"ABA",2,"EvolutionGraph"]
Out[]=
In the case above, we can see that the rules ABBA and BAAB commute. However, if two operators commute it should be independent of the state they are applied to. What if the initial state is a superposition of strings? We’d also like to come up with a more formal definition of commutativity by considering the “distance” between resultant states. For the rest of this notebook, we will only consider strings of fixed length 4, and string rewriting rules of length 2 to length 2.

Superposition

To consider superpositions of strings, we will first transform each string to a basis vector. In the case of strings length 4, there are a total of 16 basis vectors.
In[]:=
getSignature[{"aaaa"},4]
Out[]=
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
In[]:=
getSignature[{"bbbb"},4]
Out[]=
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}
Then clearly a superposition of strings is a combination of basis vectors:
In[]:=
getSignature[{"aaaa","abba","bbbb"},4]
Out[]=
{1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1}
Note that we have not yet taken into account the weights of each string (how many branches a particular string in the superposition emerged from). This is something that will need to be considered in future developments.

Distance

Now that we have transformed our strings to vectors, we can simply use the Euclidean distance as our metric:
In[]:=
pairDist[getSignature[{"aaaa"},4],getSignature[{"bbbb"},4],4]
Out[]=
2
In[]:=
pairDist[getSignature[{"aaaa","abba","bbbb"},4],getSignature[{"baab"},4],4]
Out[]=
2
Clearly if two branches resolve to the same string, then the “distance” between their resultant states is zero. Hence, if two operators commute, we expect the distance between the resultant states of O1O2 and O2O1 to be zero. This should be irrelevant of the initial state that we choose.

Results

The list of all possible 2-string to 2-string rewriting rules is:
In[]:=
enumerateRules[2,2,{"a","b"}]
Out[]=
{aaaa,aaab,aaba,aabb,abaa,abab,abba,abbb,baaa,baab,baba,babb,bbaa,bbab,bbba,bbbb}
For simplicity, we will only take a subset of these rules for now. Since there are 2^16 possible initial states with strings of length 4, we will randomly sample over the m to test for commutability. If we sample over a sufficiently large sample size, it should be clear whether two operators commute without testing all initial states.
In[]:=
commutator["aa""ab","aa""ba",#,4]&/@Table[RandomChoice[{0,1},16],{i,1,100}]
Out[]=
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
For example, we can safely say that the two operators above commute, since 100 random initial states gave a distance of zero. Below is a table of histograms, showing the distribution of distances for each commutator operation in a subset of rewriting rules.
In[]:=
rules={"aa""aa","aa""ab","aa""ba","aa""bb","ab""aa"};
In[]:=
results=Table[Histogram[commutator[i,j,#,4]&/@Table[RandomChoice[{0,1},16],{i,1,50}]],{i,rules},{j,rules}];
In[]:=
Grid[MapThread[Prepend,{Prepend[results,Split[rules]],Prepend[Split[rules],""]}],ItemSizeAutomatic,FrameAll]
Out[]=
{aaaa}
{aaab}
{aaba}
{aabb}
{abaa}
{aaaa}
{aaab}
{aaba}
{aabb}
{abaa}
Below is table of all 2-string to 2-string rewriting rules, where we declare that two operators commute if every sampled distance is zero.
In[]:=
rules2=enumerateRules[2,2,{"a","b"}];
In[]:=
results2=Table[AllTrue[commutator[i,j,#,4]&/@Table[RandomChoice[{0,1},16],{i,1,50}],#==0&],{i,rules2},{j,rules2}];
In[]:=
Grid[MapThread[Prepend,{Prepend[results2,Split[rules2]],Prepend[Split[rules2],""]}],ItemSizeAutomatic,FrameAll]
Out[]=
As we can see, every operator commutes with itself as expected. Also, it is interesting to note that operators that we expected to commute, such as abba and baab, did not. Although a few of the initial states may have commuted, this way not the case for all of them.
In[]:=
Grid[MapThread[Prepend,{Prepend[results2/.{True->Green,False->Red},Split[rules2]],Prepend[Split[rules2],""]}],ItemSizeAutomatic,FrameAll]

Future Work

Keywords

◼
  • Wolfram Model
  • ◼
  • String Substitution
  • ◼
  • Multiway Graph
  • ◼
  • Spin Statistics Theorem
  • ◼
  • Commutativity
  • ◼
  • Quantum Mechanics
  • Acknowledgment

    Mentor: Jonathan Gorard
    I’d like to thank Yorick Zeschke, Jonathan Gorard and Stephen Wolfram for their assistance in this project, which would not have been possible without them. I’d also like to thank Xerxes Arsiwalla and Danielle Mayer for their support during this Winter school.

    References

    ◼
  • [1] W. Pauli, The Connection Between Spin and Statistics, Phys. Rev. 58, 716-722 (1940).
  • ◼
  • [2] S. Wolfram, A Class of Models with the Potential to Represent Fundamental Physics, Section 8.15 (2020)
  • ◼
  • [3] https://resources.wolframcloud.com/FunctionRepository/resources/MultiwaySystem