# Message Boards

Answer
(Unmark)

GROUPS:

4

# [WSS21] A topological introduction to causal set theory & Wolfram Physics

Posted 10 months ago

Causal set theory is a combinatorial theory of quantum gravity that describes spacetime as a partially ordered set. Since causal set theory is based on finite structures, arguments and evidence is required to recover properties described by quantum mechanics and general and special relativity. A large part of the summer program was teaching myself causal set theory and I strived to keep this presentation self-contained and used Mathematica to give an interactive introduction. I hope that those new to the subject will benefit the most. For those who know causal set theory, we offer more efficient Mathematica routines than were previously available for working with causal sets and show how to use this code to investigate the convergence rate of the Gromov-Hausdorff distance between open sets of causal sets and open sets in Minkowski spacetime. We end with brief remarks on how topology relates to Wolfram Model rules.
Topological Spaces Topological spaces are minimal models of space that play a foundational role in modern mathematics. For our purposes, this introduction to topology will help us understand causal set theory. The route we take follows the path laid out in 1937 by Soviet mathematician Pavel Alexandroff. It’s an important path because topology facilitates the introduction of spatial structures in situations that are not obviously spatial at the outset. We take the rather traditional approach by defining a topological space as a special collection of subsets of an underlying set. This collection of subsets is then used to characterize everyday concepts like convergence, continuity, and nearness. From a physical perspective, we can imagine topology as the subject which analyzes the relation between points and boundaries. We’ll see shortly that boundaries demarcating what is near what are called open sets. A good collection of these open sets will define a data structure describing in what sense a point is close by another point. A topology brings cohesion and minimal harmony to an otherwise barren collection of things. A unique aspect of this presentation is the use of Mathematica to introduce and manipulate topological structures. So please play with the code to get a feel for things.
It’s Never Too Late to Topologize Definition 1.1. A topology on X consists of a set τ of subsets of X, called the “open sets of X in the topology τ ”, satisfying the following requirements. (i) ∅ and X are in τ . (ii) A finite intersection of sets in τ is in τ . (iii) An arbitrary union of sets in τ is in τ . The pair (X, τ) is called a topological space. The first axiom exists so that intersections and unions are adequately closed. There is a generalization that will become important later in one’s study. We introduce it now by loosening up the finiteness restriction on the second axiom. Definition 1.2. An Alexandroff space is a topological space for which arbitrary intersections of open subsets are still open. We immediately notice that every finite topological space is an Alexandroff space. One later learns that Alexandroff spaces are equivalent to infinite posets but we leave it at that for now. Let’s keep our attention on good-old fashion finite topological spaces. We define these structures in Mathematica by specify open sets and checking the required properties. In[]:= On[Assert];SetAttributes[set,Orderless];set[elms___]:=With[{nodups=DeleteDuplicates@{elms}},set@@nodups/;{elms}=!=nodups]FiniteTopologicalSpace[elements_List,topology_List]:=Module[{makeSet},makeSet=List@@set[Union[Sort/@topology]];<|"Points"elements,"OpenSets"First[makeSet]|>];FiniteTopologicalSpaceQ[topologicalSpace_Association]:=Module[{elements,topology,collectionOfSets,axiomOne,axiomTwo,axiomThree},elements=topologicalSpace["Points"];topology=topologicalSpace["OpenSets"];axiomOne=MemberQ[topology,elements]&&MemberQ[topology,{}];collectionOfSets=Select[Subsets[topology],(#!={})&];axiomTwo=AllTrue[Union[Intersection@@@collectionOfSets],MemberQ[topology,#]&];axiomThree=AllTrue[Union[Union@@@collectionOfSets],MemberQ[topology,#]&];{axiomOne,axiomTwo,axiomThree}]; Create a topological space and check the axioms X={1,2,3};τ={{},{1},{2},{3},{1,2},{1,3},{3,2},{1,2,3}};topologicalSpace=FiniteTopologicalSpace[X,τ]FiniteTopologicalSpaceQ[topologicalSpace]=={True,True,True}; Out[]= Points{1,2,3},OpenSets{{},{1},{2},{3},{1,2},{1,3},{2,3},{1,2,3}}
Generating Topologies Without Thinking Once X becomes sufficiently large, it’s cumbersome to specify every open set explicitly. So we need a easier way of creating topological space. This desire gives rise to the following definition. Definition 1.3 Let (X,τ) be a topological space. A subbase, aka subbasis, of τ is defined as a subcollection S of τ such that any other topology τ’ on X containing S must also contain τ. When this happens, we say that τ is the smallest topology containing S. There is a more computationally practical characterization of a subbasis, and like all fact of mathematics, it’s a theorem. In this presentation, we offer some proofs and neglect others. This decision was made because of time considerations, and one could imagine a proper presentation in the future. Nonetheless, we point readers to references whenever I can remember. Proposition 1.1. Let X be a set and let S be any collection of subsets of X such that that union of all subsets of S equal X. If T is the set of all subsets of X created in the following ways: 1) finite intersections of sets in S; 2) all unions of sets obtained in 1), Then T is a topology on X. With this proposition in mind, we can think of a subbasis as a collection of sets that can be fixed up into a valid topological space in a minimal way. The topology defined in the previous proposition is called the topology generated by S, and the collection S is called a subbasis for the topology. So for any subcollection S of the power set, there is a unique topology that has S as a subbasis. This idea will come up again at the end when we look at Wolfram model rules. But for now, it’s important to realize that, in general, there is no unique subbasis for a topology. If we start with a topology, there could be a ton of ways to produce it, but if we start with a collection of subsets, we can enlarge it in a unique way to get a topology. Generate a topological space from a subbasis In[]:= GenerateTopologyFromSubBasis[subBasis_List]:=Module[{collectionOfSets,elements,finiteIntersections,unions,topology},elements=Union@@subBasis;collectionOfSets=Select[Subsets[subBasis],(#!={})&];finiteIntersections=Union[Intersection@@@collectionOfSets];unions=Union@@@Subsets[finiteIntersections];topology=Union[finiteIntersections,unions];FiniteTopologicalSpace[elements,topology]]; S={{a,b,c},{b,c,d}};τ=GenerateTopologyFromSubBasis[S]FiniteTopologicalSpaceQ[τ]=={True,True,True} Out[]= Points{a,b,c,d},OpenSets{{},{b,c},{a,b,c},{b,c,d},{a,b,c,d}} Out[]= True
Base for a Space The above construction allows us to create a new topology from any collection of sets. The flexibility of a subbasis comes at the cost of knowing what the final open sets are in the generated topology. It’s difficult to discern all the open sets when given just a subbase without explicitly generating the entire topological space and checking. Fortunately, there is a middle ground between specifying every open set and working with an arbitrary collection of subsets of the powerset. Another compressed description of a topological space only writes down the alphabet of open sets. In this style of description, a topological structure is given by the parts that are sufficient to generate the topological structure. Definition 1.4 . Base or basis for a topological space (X, τ) is a family B of open subsets of X such that every nonempty open set of the topology is equal to a union of sets belonging to B . Like before, we have a more intrinsic definition that is operationally useful. Notice that the following two conditions are required to ensure that the set of all unions of subsets of B is a topology on X: The base elements cover X: U b∈B Let B 1 B 2 B 1 B 2 B 3 B 3 B 1 B 2 So, an alternative definition of a base is a collection B of open subsets of X satisfying the above properties. A base is not always a topology, but we can grow a basis into a topology. Proposition 1.2. Let B is a base. There is a recipe for creating the topology determined by a base: τ = {unions of elements of B} = { U i b i b i And τ is the smallest topology containing B. Check if the provided collection of sets is a base and then generate a topological space from a base In[]:= BaseQ[base_List]:=AllTrue[Table[AnyTrue[#,TrueQ]&@@Table[Table[SubsetQ[intersectedSet,basicSet]&&MemberQ[basicSet,x],{basicSet,base}],{x,intersectedSet}],{intersectedSet,Select[Union[Intersection@@@Subsets[base,{2}]],(#!={})&]}],TrueQ];GenerateTopologyFromBase[base_List]:=Module[{covering,topology},covering=Union@@base;topology=Insert[Union@@@Subsets[base],{},-1];FiniteTopologicalSpace[covering,topology]]; Here are examples which are not a bases. base={{a,b,c},{b,c,d}};BaseQ[base]GenerateTopologyFromBase[base]τ=FiniteTopologicalSpaceQ[GenerateTopologyFromBase[base]]base={{0,1},{0,2}};BaseQ[base]GenerateTopologyFromBase[base]τ=FiniteTopologicalSpaceQ[GenerateTopologyFromBase[base]] Out[]= False Out[]= Points{a,b,c,d},OpenSets{{},{a,b,c},{b,c,d},{a,b,c,d}} Out[]= {True,False,True} Out[]= False Out[]= Points{0,1,2},OpenSets{{},{0,1},{0,2},{0,1,2}} Out[]= {True,False,True} Here’s an example of a collection of sets that is a base. base={{0},{0,1},{0,2}};BaseQ[base]GenerateTopologyFromBase[base]τ=FiniteTopologicalSpaceQ[GenerateTopologyFromBase[base]] Out[]= True Out[]= Points{0,1,2},OpenSets{{},{0},{0,1},{0,2},{0,1,2}} Out[]= {True,True,True}
Between A Rock and A Hard Place In causal set theory, special attention is placed on a base for a particular type of topology called the interval topology or Alexandroff topology. Unfortunately, these names are used interchangeably in causal set theory. In this work, we differentiate between them. We will use the interval topology to denote the topology commonly used in causal set theory. This interchanging of names is understandable because both structures naturally arise when dealing with orders. The first ordering on a set we learn about is the preorder, and the natural topology that arises from the preorder is called the Alexandroff topology. The second kind of order is a partial order, and this gives way to the interval topology. Definition 1.5. A preorder on a set S is a reflexive and transitive relation, denote by ≺. We call (S, ≺) preordered set. Definition 2.1. Let P be a preordered set. Declare a subset A of P to be an open subset if x≺y and x∈A, then y∈A. This defines a topology on P, called the specialization topology or Alexandroff topology. We write this topology symbolically as τ ={A⊆ X : ∀ x,y∈ X (x∈ A ∧ x ≺ y) → y∈ A} Now now we define the interval topology that is commonly used in causal set theory. A preorder is a partial order if it is antisymmetric, i.e., x ≤ y and y ≤ x imply that x = y. A set X with a partial order (X,≤) is called a poset. Let (X, ≤) be a poset with at least two elements. Then interval topology on X is the smallest topology in which subsets of X, called intervals, having the forms + •I • - I • <<a,b>> = + I - I are open sets. This is a base for a topological structure. The topology determined by this base is the interval topology, aka order topology, of the partially ordered set (X, ≤). We can work with examples interactively in Mathematica. Moreover, to do so, it’s often convenient to consider a partially ordered set as a graph whose vertex set is X with edges connecting two vertices if they satisfy the partial order. We use terms like “chronological future,” “chronological past,” and “future light cones” above to introduce the flavor of causal set theory. Create the base for the interval topology using the partial order given by divisibility and then generate the interval topology using the base. In[]:= + I - I + I - I In[]:= anim=Manipulate[divisibilityGraph=RelationGraph[(Mod[#1,#2]==0)&,Range[i],VertexLabels->"Name",VertexStyleDirective[Hue[0.11,1,0.97],EdgeForm[{Hue[0.11,1,0.97],Opacity[1]}]],EdgeStyleHue[0,1,0.56]];X=VertexList[divisibilityGraph];rightRays=Table[ + I - I frames=Import[Export["divisibilityGraph.gif",anim]];ListAnimate[ImageResize[#,1000]&/@frames] Out[]=
When is one thing equal to some other thing? Before going on to causal set theory, let’s think about the physical consequences of our current definition of a topological space and how to faithfully illustrate these spaces. Thus far, our description of topology has been visually improvised. However, we can change this by thinking about the following question: To what extent can points can be distinguished from each other by only considering the regions which hold then? From the viewpoint of physics, this line of thought is related to the idea that if (X, τ) is a model of physical space, then any real object must exist inside some region of space. But what should we do if two points belong to the same collections of open sets? Should we consider these to be the same? How do we determine which topologies make this distinction and which ones do not?Here’s one relevant mathematical concept to helps us see which topologies distinguishes points: For any two points x,y in X, there is an open set U such that x in U and y not in U or y in U and x not in U. We call the above condition the T0 separation axiom. Some spaces satisfy it, and some don’t. Topological spaces that do are called T0-spaces, Alexandroff T0-space, or Kolmogorov spaces. There are other separations axioms, but we’ll concern ourselves only with this one for now. For those in the know, I should point out that any finite topological space can transformed into a T0 space so they are same from the perspective of homotopy. Recalling some earlier definitions, let’s create a partially ordered from a T0-space and then do the magic trick and go the other direction. This story probably goes back to Pavel Alexandroff, but I heard from it from Peter May. I think he heard it from Micheal McCord's and Robert Strong's work during the 60s. For experienced riders, we are scratching the surface and won’t get to the fun parts of homotopy. For those who are new, welcome! This is where it all starts. Let U x U x U x U y U x U y Transform a topological space into a partially ordered set using the method outlined above. In[]:= topologyRelationCondition[intersectionSets_Association]:=Function[{x,y},SubsetQ[intersectionSets[x],intersectionSets[y]]];HasseDiagram[relation_,X_]:=ResourceFunction["HasseDiagram"][relation,X,VertexLabels"Name",VertexStyleDirective[Hue[0.11,1,0.97],EdgeForm[{Hue[0.11,1,0.97],Opacity[1]}]],EdgeStyleHue[0,1,0.56]]; X={a,b,c,d};τ={{},{c},{d},{b,d},{c,d},{b,c,d},{a,b,c,d}};topologicalSpace=FiniteTopologicalSpace[X,τ];elementToOpenSets=AssociationMap[Select[τ,MemberQ[#]]&,X];U=Intersection@@@elementToOpenSets;lessThanQ=topologyRelationCondition[U];partialOrderGraph=HasseDiagram[lessThanQ,X] Out[]= We can go the other way, too! Given a partially ordered set we can uniquely create a T0-topological space. Let’s look at just the down arrows in the poset: U x U x U x U y U z U x U y U z Transform the previous partially ordered set back to the original topological space and assert that they are equivalent. X=VertexList[partialOrderGraph];basicOpenSets=Insert[Table[ + I » Points{a,b,c,d},OpenSets{{},{c},{d},{b,d},{c,d},{b,c,d},{a,b,c,d}} We saw above that if we start with a T0-space and create the associated partially ordered set, then we go backward and turn the poset back to the original topological space, and vice versa. In this sense, we say that finite topological spaces satisfying the T0 separation axiom are equivalent to partially ordered sets. We can map back and forth in a unique way, as shown above. It’s instructive, however, to attempt these transformations but starting with spaces that are not T0. What happens? What goes wrong? This ends up not being a big deal because up to homotopy, we can transform any space into a T0 space. See theorem 4 of McCord for details. Here’s an example of what can go wrong if space doesn’t satisfy the T0 separation axiom. X={1,2,3,4};τ={{},{4},{2,4},{3,4},{1,2,3,4}};topologicalSpace=FiniteTopologicalSpace[X,τ];Assert[FiniteTopologicalSpaceQ[topologicalSpace]=={True,True,True}]elementToOpenSets=AssociationMap[Select[τ,MemberQ[#]]&,X];U=Intersection@@@elementToOpenSets;lessThanQ=topologyRelationCondition[U];partialOrderGraph=HasseDiagram[lessThanQ,X]X=VertexList[partialOrderGraph];basicOpenSets=Insert[Table[ + I Out[]= Out[]= Points{1,2,3,4},OpenSets{{},{4},{2,4},{3,4},{1,2,3,4}} Out[]= Points{1,2,3,4},OpenSets{{},{4},{2,4},{3,4},{2,3,4},{1,2,3,4}} With our new notion of space in hand, we now ask the following question: "What does it mean for one space to transform into another space?" Is there a way to define continuity of maps that corresponds to the usual notion of continuous functions we encounter in calculus? The answer to both questions is "YES!". The topological definition of continuity surprisingly generalizes the notion of continuity we are accustomed to and encountered throughout continuous mathematics. Given two topological spaces we can define function between them. In topology we say a map between two topological spaces f : (X, τ 1 τ 2 τ 2 -1 f τ 1 With this in mind, we could also show that a map f : X → Y is continuous if and only if f preserves order on the corresponding posets. All together, this correspondence can be stated in the language of category theory as follows: the category P of posets is isomorphic to the category of T0 topological spaces.
Causal Set Theory The reader is now ready to dive into causal set theory in earnest: https://arxiv.org/abs/1903.11544 . Once you’re done with that come back here. I’ll wait. We can create causal sets in Mathematica with code below. Notice that these are partially ordered sets!
Creating a Causal Set If you read Sumati Surya’s introduction, then you’ll know that sprinkling provides a good testing ground for recovering properties of continuous. If we start with a manifold where we know a lot of mathematical facts and whose points represent events in space and time, then we want that the finite causal set we get from sampling events on this manifold reflect mathematical structures of the original continuous space. So a basic question we ask is how fast do open sets in a causal set and flat space converge? Sample 150 points from a flat Minkowski space and create the corresponding causal set. In[]:= {minkowskiNormCompiled,causalFutureQCompiled}=FunctionCompile[{FunctionDeclaration[minkowskiNormCompiled2,Typed[{TypeSpecifier["PackedArray"]["Real64",1]}->"Real64"]@Function[p,p^2.{1,-1}]],Function[{Typed[p,TypeSpecifier["PackedArray"]["Real64",1]],Typed[q,TypeSpecifier["PackedArray"]["Real64",1]]},p[[-1]]<q[[-1]]&&minkowskiNormCompiled2[p-q]<0]},TargetSystem->{"MacOSX-x86-64","Linux-x86-64"}];(*Defineacachetoreusepastresults*)isCausalFuture[x_,y_]:=isCausalFuture[x,y]=causalFutureQCompiled[x,y];PairwiseMinkowskiSerial[points_List]:=With[{pairs=Tuples[points,{2}]},DirectedEdge[#2,#1]&@@@Pick[pairs,isCausalFuture@@@pairs]];createCausalGraph[points_List,edges_List]:=Module[{dimensions},dimensions=Length[First[points]];Graph[points,edges,VertexStyleDirective[Hue[0.11,1,0.97],EdgeForm[{Hue[0.11,1,0.97],Opacity[1]}]],EdgeStyleHue[0,1,0.56],VertexCoordinatesIf[dimensions≤3&&dimensions>1,((##)&/@VertexList[Graph[edges]]),Automatic],GraphLayoutIf[dimensions≤3&&dimensions>1,Automatic,"LayeredDigraphEmbedding"],AspectRatioIf[dimensions≤3&&dimensions>1,Automatic,1/2]]];SpacetimeSprinkling[points_List]["CausalGraphFull2D"]:=Module[{edges},edges=PairwiseMinkowskiSerial[points];createCausalGraph[points,edges]];FlatSpacetimeSprinklingPoints[dimension_Integer,pointsCount_Integer]:=Module[{points},points=RandomReal[1,{pointsCount,dimension}]];PlotCausalSet[causalSet_]:=GraphicsRow[{Show[causalGraph,AxesFalse,Background->White],ListPlot[VertexList[causalGraph],AxesFalse,PlotStyle->{Directive[Hue[0.11,1,0.97]]}]}] In[]:= causlSetFiltrationAnim=Manipulate[points=FlatSpacetimeSprinklingPoints[1+1,density];causalGraph=SpacetimeSprinkling[points]["CausalGraphFull2D"];PlotCausalSet[causalGraph],{density,10,20,1}]; frames=Import[Export["causlSetFiltrationAnim.gif",causlSetFiltrationAnim]];ListAnimate[ImageResize[#,1000]&/@frames] Out[]=
Causal Set Filtration + I - I Definition. A filtration of a topological space X is a sequence of spaces { X n X n X n+1 ⋃ n∈N X n Plot how the causal set grows as we increase the sprinkling density. In[]:= AddPoints[perviousPoints_List,dimension_Integer,pointsCount_Integer]:=Module[{newPoints},newPoints=RandomReal[1,{pointsCount,dimension}];Union[perviousPoints,newPoints]];causalSetFilteration[dimension_Integer,sprinklingDensity_Integer,initialSamples_List,cu |