Ticket #12235: trac_12235.patch

File trac_12235.patch, 1.9 KB (added by ncohen, 9 years ago)
  • sage/graphs/base/c_graph.pyx

    # HG changeset patch
    # User Nathann Cohen <nathann.cohen@gmail.com>
    # Date 1325181074 -3600
    # Node ID adeeb48eff22ac9348a7ba97b08e0d2b9a2088a6
    # Parent  73d35e5cc6661503e022708e2ee56ff7b60c9134
    trac #12235 -- Slow computation of strongly connected components
    
    diff --git a/sage/graphs/base/c_graph.pyx b/sage/graphs/base/c_graph.pyx
    a b  
    29782978                if self.test_out:
    29792979                    self.stack.extend(self.graph._cg.out_neighbors(v_int))
    29802980                if self.test_in:
    2981                     self.stack.extend(self.graph._cg.in_neighbors(v_int))
     2981                    self.stack.extend(self.graph._cg_rev.out_neighbors(v_int))
    29822982
    29832983                break
    29842984        else:
  • sage/graphs/digraph.py

    diff --git a/sage/graphs/digraph.py b/sage/graphs/digraph.py
    a b  
    25622562            sage: D.add_edge([2,0])
    25632563            sage: D.strongly_connected_components()
    25642564            [[0, 1, 2], [3], [4], [5], [6]]
     2565
     2566        TESTS:
     2567
     2568        Checking against NetworkX::
     2569
     2570            sage: import networkx
     2571            sage: for i in range(100):                                     # long
     2572            ...        g = digraphs.RandomDirectedGNP(100,.05)             # long
     2573            ...        h = g.networkx_graph()                              # long
     2574            ...        scc1 = g.strongly_connected_components()            # long
     2575            ...        scc2 = networkx.strongly_connected_components(h)    # long
     2576            ...        s1 = Set(map(Set,scc1))                             # long
     2577            ...        s2 = Set(map(Set,scc2))                             # long
     2578            ...        if s1 != s2:                                        # long
     2579            ...            print "Ooch !"                                  # long
    25652580        """
    25662581
    25672582        try: