def test_fancy_graph():
    G = file2graph("graphs/CaiOrigTwistedV10.txt")
    F = file2graph("graphs/CaiOrigV10.txt")
    k = 2
    (answer, isomorphism) = sa.k_dim_linear_relax(G, F, k)
    assert answer in (0, 3)
    if answer is not 0:
        np.testing.assert_almost_equal(isomorphism.sum(0), 1, decimal=4)
        np.testing.assert_almost_equal(isomorphism.sum(1), 1, decimal=4)
def test_simple1():
    G = file2graph("graphs/simple1.txt")
    F = file2graph("graphs/simple2.txt")
    k = 1
    (answer, isomorphism) = sa.k_dim_linear_relax(G, F, k, solver='linear')
    assert answer in (0, 3)
    if answer is not 0:
        np.testing.assert_almost_equal(isomorphism.sum(0), 1)
        np.testing.assert_almost_equal(isomorphism.sum(1), 1)
def example():
    G = file2graph("graphs/CaiOrigTwistedV10.txt")
    H = file2graph("graphs/CaiOrigV10.txt")
    nx.draw(G)
    print('close figure to continue')
    plt.show()
    nx.draw(H)
    print('close figure to continue')
    plt.show()
    for k in range(1, 4):
        print("\033[1;33;40m \n running Sherali-Adams with k =", k, "\033[0m ")
        solver = "linear" if k < 3 else "minimize"
        (answer, isomorphism) = k_dim_linear_relax(G, H, k, solver)
        print("\033[01;32m \n", flag_interpreter(answer), "\033[00m ")
        print("\033[1;33;40m \n", np.round(isomorphism, decimals=5),
              "\033[0m ")