def updateDistanceGraph(g, u, v, merged):
    g.remove_node(u)
    g.remove_node(v)
    nodes = set(g.nodes)
    for n in nodes:
        g.add_edge(merged, n, weight=distance(merged, n))

    return g
 def test_distance4D(self):
     d = 4
     c1 = Cluster([(2.0, 5.0, 0.0, 0.0), (3.0, 5.0, 0.0, 0.0),
                   (2.0, 4.0, 0.0, 0.0), (3.0, 4.0, 0.0, 0.0)], d)
     c2 = Cluster([(2.0, 3.5, 0.0, 0.0), (3.0, 3.5, 0.0, 0.0),
                   (2.0, 2.5, 0.0, 0.0), (3.0, 2.5, 0.0, 0.0)], d)
     self.assertEquals(distance(c1, c2), 1.5,
                       "la distancia entre c1 y c2 es 1.5")
def createDistanceGraph(elements):
    G = nx.Graph()
    for u in elements:
        for v in elements - {u}:
            G.add_edge(u, v, weight=distance(u, v))
    return G