Ask Your Question

Is there a way to check if a given simplicial complex is a pseudomanifold with boundary?

asked 2023-06-21 13:06:22 +0200

hiyapotter gravatar image

Def: A pseudomanifold with boundary is a simplicial complex with the following properties: โ€ข it is pure of some dimension ๐‘‘ (all of its facets are ๐‘‘-dimensional) โ€ข every (๐‘‘ โˆ’ 1)-dimensional simplex is the face of at most two facets โ€ข for every two facets ๐‘† and ๐‘‡ , there is a sequence of facets ๐‘† = ๐‘“_0, ๐‘“_1, ..., ๐‘“_๐‘› = ๐‘‡ such that for each ๐‘–, ๐‘“_๐‘– and ๐‘“_{๐‘–โˆ’1} intersect in a (๐‘‘ โˆ’ 1)-simplex

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2023-06-22 18:58:35 +0200

It should be easy to modify the is_pseudomanifoldmethod at Untested:

def is_pseudomanifold_with_boundary(K):
    if not K.is_pure():
        return False
    d = K.dimension()
    if d == 0:
        return len(K.facets()) == 2
    F = K.facets()
    X = K.faces()[d-1]
    # is each (d-1)-simplex is the face of at most two facets?
    # *** This is the only change when compared to is_pseudomanifold. ***
    for s in X:
        if len([a for a in [s.is_face(f) for f in F] if a]) > 2:
            return False
    # construct a graph with one vertex for each facet, one edge
    # when two facets intersect in a (d-1)-simplex, and see
    # whether that graph is connected.
    return K.flip_graph().is_connected()
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2023-06-21 13:06:22 +0200

Seen: 88 times

Last updated: Jun 22 '23