P=randomShelling(n,m)
P=randomShelling(n,m,k)
P=randomShelling(R,m)
P=randomShelling(R,m,k)
The function produces a list of facets of a random shellable simplicial complex. The order of the facets is a shelling.
The algorithm works by choosing one of the previous facets at random, and replacing one of its vertices with a new vertex chosen at random. If the choice meets the criteria of a shelling, that facet is added to list, otherwise it is discarded and the algorithm tries again. The first facet is chosen uniformly at random.
The call randomShelling(n,m) produces a *complete* chain -- that is, a shelling of the m-skeleton of the (n-1)-simplex, with the simplices listed in order, so that any initial subsequence of length d gives a (random) shellable simplicial complex with d facets.
The probability distribution for this random selection is presumably not the uniform one; it would be nice to write a reversible markov chain that could be used with the Metropolis algorithm to produce the uniform distribution, as is done in randomSquareFreeStep, and the randomSquareFreeMonomialIdeal codes
|
|
No claim is made on the distribution of the random chain.
The object randomShelling is a method function.