Macaulay2 » Documentation
Packages » AbstractSimplicialComplexes :: Calculations with random simplicial complexes
next | previous | forward | backward | up | index | toc

Calculations with random simplicial complexes -- Homological calculations on random simplicial complexes

In what follows we illustrate a collection of homological calculations that can be performed on random simplicial complexes.

Create a random abstract simplicial complex with vertices supported on a subset of [n] = {1,...,n}.

i1 : setRandomSeed(currentTime());
i2 : K = randomAbstractSimplicialComplex(4)

o2 = AbstractSimplicialComplex{-1 => {{}}     }
                               0 => {{3}, {4}}
                               1 => {{3, 4}}

o2 : AbstractSimplicialComplex
i3 : prune HH simplicialChainComplex K

       1
o3 = ZZ
      
     0

o3 : Complex

Create a random simplicial complex on [n] with dimension at most equal to r.

i4 : setRandomSeed(currentTime());
i5 : L = randomAbstractSimplicialComplex(6,3)

o5 = AbstractSimplicialComplex{-1 => {{}}                   }
                               0 => {{3}, {4}, {6}}
                               1 => {{3, 4}, {3, 6}, {4, 6}}
                               2 => {{3, 4, 6}}

o5 : AbstractSimplicialComplex
i6 : prune HH simplicialChainComplex L

       1
o6 = ZZ
      
     0

o6 : Complex

Create the random complex Y_d(n,m) which has vertex set [n] and complete (d − 1)-skeleton, and has exactly m dimension d faces, chosen at random from all binomial(binomial(n,d+1),m) possibilities.

i7 : setRandomSeed(currentTime());
i8 : M = randomAbstractSimplicialComplex(6,3,2)

o8 = AbstractSimplicialComplex{-1 => {{}}                                   }
                               0 => {{2}, {4}, {5}, {6}}
                               1 => {{2, 4}, {2, 6}, {4, 5}, {4, 6}, {5, 6}}
                               2 => {{2, 4, 6}, {4, 5, 6}}

o8 : AbstractSimplicialComplex
i9 : prune HH simplicialChainComplex M

       1
o9 = ZZ
      
     0

o9 : Complex

Creates a random sub-simplicial complex of a given simplicial complex.

i10 : setRandomSeed(currentTime());
i11 : K = randomAbstractSimplicialComplex(4)

o11 = AbstractSimplicialComplex{-1 => {{}}     }
                                0 => {{3}, {4}}
                                1 => {{3, 4}}

o11 : AbstractSimplicialComplex
i12 : J = randomSubSimplicialComplex(K)

o12 = AbstractSimplicialComplex{-1 => {{}}     }
                                0 => {{3}, {4}}
                                1 => {{3, 4}}

o12 : AbstractSimplicialComplex
i13 : inducedSimplicialChainComplexMap(K,J)

            2                2
o13 = 0 : ZZ  <----------- ZZ  : 0
                 | 1 0 |
                 | 0 1 |

            1              1
      1 : ZZ  <--------- ZZ  : 1
                 | 1 |

o13 : ComplexMap