Skip to main content
added 595 characters in body
Source Link
darij grinberg
  • 33.8k
  • 4
  • 118
  • 253

Here is a picture of Q with the bad vertex:

alt text http://mit.edu/%7Edarij/www/poset.png

This R is just the Q with a global min and a global max added.

Note that there is a quick way to see whether a family $\left(a_p\right)_{p\in P}$ is a vertex of our polyhedron: A pair $\left(i, j\right)$ of elements of $P$ is called tight if $j$ covers $i$ and $a_j-a_i=1$. Consider the non-directed graph whose edges are $\left\lbrace i,j\right\rbrace$ for all tight pairs $\left(i,j\right)$. Then, $\left(a_p\right)_{p\in P}$ is a vertex if and only if this graph is connected.

Here is a picture of Q with the bad vertex:

alt text http://mit.edu/%7Edarij/www/poset.png

This R is just the Q with a global min and a global max added.

Note that there is a quick way to see whether a family $\left(a_p\right)_{p\in P}$ is a vertex of our polyhedron: A pair $\left(i, j\right)$ of elements of $P$ is called tight if $j$ covers $i$ and $a_j-a_i=1$. Consider the non-directed graph whose edges are $\left\lbrace i,j\right\rbrace$ for all tight pairs $\left(i,j\right)$. Then, $\left(a_p\right)_{p\in P}$ is a vertex if and only if this graph is connected.

Post Made Community Wiki
Source Link
darij grinberg
  • 33.8k
  • 4
  • 118
  • 253

The conjecture is wrong. Sorry, Patricia, for the waste of your time.

Code to verify a counterexample:

# This code is for checking my conjecture in MathOverflow question #98193
# ( http://mathoverflow.net/questions/98193 ). Runs with Sage 5.0.

# In the following, the "MO98193" polyhedron of a finite poset will mean the
# polyhedron defined in MO question 98193.

def mo98193polyhedron(P, elements='None'):
    # INPUT:
    # P: finite poset.
    # Optional argument elements: a list of the elements of P.
    # OUTPUT:
    # MO98193 polyhedron of P.
    if elements == 'None':
        elements = P.list()
    n = len(elements) + 1
    inequalities = []
    for cover in P.cover_relations_iterator():
        a = elements.index(cover[0])
        b = elements.index(cover[1])
        c = [0] * n
        c[0] = -1
        c[a + 1] = -1
        c[b + 1] = 1
        inequalities.append(c)
    equality = [1] * n
    equality[0] = 0
    return Polyhedron(ieqs = inequalities, eqns = [equality])

def testconjecture(P):
    # INPUT:
    # P: finite poset.
    # OUTPUT:
    # True if the MO98193 conjecture is valid for poset P.
    # Else, the maximal chain and the vertex of the polyhedron that
    # witness the invalidity of the conjecture.
    elements = P.list()
    poly = mo98193polyhedron(P, elements=elements)
    verts = poly.vertices()
    chains = P.maximal_chains()
    u = max([len(c) for c in chains])
    maxchains = filter(lambda c: len(c) == u, chains)
    print "Order of vertices of poset chosen: ", elements
    print "Maximal chains: ", maxchains
    print "Vertices of the polyhedron: ", verts
    for maxchain in maxchains:
        for vert in poly.vertices():
            for i in range(u-1):
                if vert[elements.index(maxchain[i + 1])] > vert[elements.index(maxchain[i])] + 1:
                    print "Witnessing chain: ", maxchain
                    print "Witnessing vertex: ", vert
                    return False
    return True

Counterexample:

Q = Poset([[1,2,3,4,5,6,7,8,9],[[1,2],[2,3],[3,4],[2,5],[6,5],[6,7],[7,8],[9,8],[9,3]]])

Sage 5.0 output:

sage: testconjecture(Q)
Order of vertices of poset chosen:  [9, 6, 7, 8, 1, 2, 3, 4, 5]
Maximal chains:  [[1, 2, 3, 4]]
Vertices of the polyhedron:  [[-2/3, -2/3, 1/3, 4/3, -5/3, -2/3, 1/3, 4/3, 1/3], [0, -1, 0, 1, -2, -1, 1, 2, 0], [-1/3, -4/3, -1/3, 2/3, -4/3, -1/3, 2/3, 5/3, 2/3]]
Witnessing chain:  [1, 2, 3, 4]
Witnessing vertex:  [0, -1, 0, 1, -2, -1, 1, 2, 0]
False

Or, for a counterexample with global min and max:

R = Poset([[1,2,3,4,5,6,7,8,9,0,10],[[1,2],[2,3],[3,4],[2,5],[6,5],[6,7],[7,8],[9,8],[9,3],[0,1],[0,6],[8,10],[4,10],[5,10],[0,9]]])

Output:

sage: testconjecture(R)
Order of vertices of poset chosen:  [0, 1, 2, 6, 5, 7, 9, 3, 4, 8, 10]
Maximal chains:  [[0, 1, 2, 3, 4, 10]]
Vertices of the polyhedron:  [[-29/11, -18/11, -7/11, -7/11, 4/11, 4/11, -7/11, 4/11, 15/11, 15/11, 26/11], [-27/11, -16/11, -5/11, -16/11, 17/11, -5/11, -16/11, 6/11, 17/11, 17/11, 28/11], [-28/11, -17/11, -6/11, -6/11, 5/11, 5/11, -17/11, 5/11, 16/11, 16/11, 27/11], [-28/11, -17/11, -6/11, -17/11, 16/11, 5/11, -17/11, 5/11, 16/11, 16/11, 27/11], [-27/11, -16/11, -5/11, -16/11, 6/11, 6/11, -16/11, 6/11, 17/11, 17/11, 28/11], [-26/11, -15/11, -4/11, -15/11, 7/11, -4/11, -15/11, 7/11, 18/11, 18/11, 29/11], [-30/11, -19/11, -8/11, -8/11, 14/11, 3/11, -8/11, 3/11, 14/11, 14/11, 25/11], [-28/11, -17/11, -6/11, -17/11, 16/11, -6/11, -6/11, 5/11, 16/11, 16/11, 27/11], [-3, -2, -1, -1, 0, 0, 0, 1, 2, 1, 3], [-28/11, -17/11, -6/11, -17/11, 5/11, 5/11, -6/11, 5/11, 16/11, 16/11, 27/11], [-25/11, -14/11, -3/11, -14/11, 8/11, -3/11, -14/11, 8/11, 19/11, 8/11, 30/11], [-29/11, -18/11, -7/11, -18/11, 15/11, 4/11, -7/11, 4/11, 15/11, 15/11, 26/11], [-26/11, -15/11, -4/11, -15/11, 7/11, -4/11, -4/11, 7/11, 18/11, 7/11, 29/11], [-27/11, -16/11, -5/11, -16/11, 6/11, -5/11, -5/11, 6/11, 17/11, 17/11, 28/11], [-27/11, -16/11, -5/11, -16/11, 17/11, -5/11, -5/11, 6/11, 17/11, 6/11, 28/11], [-26/11, -15/11, -4/11, -15/11, 18/11, -4/11, -15/11, 7/11, 18/11, 7/11, 29/11], [-29/11, -18/11, -7/11, -7/11, 15/11, 4/11, -18/11, 4/11, 15/11, 15/11, 26/11]]
Witnessing chain:  [0, 1, 2, 3, 4, 10]
Witnessing vertex:  [-3, -2, -1, -1, 0, 0, 0, 1, 2, 1, 3]
False