diff options
author | ysitu <ysitu@users.noreply.github.com> | 2014-05-31 12:17:31 -0400 |
---|---|---|
committer | ysitu <ysitu@users.noreply.github.com> | 2014-05-31 12:17:31 -0400 |
commit | a86840eceab535c0d362f0ca45b6be4c690441cb (patch) | |
tree | d239ef3d114843ac05dd5ccd91230355f3b14160 | |
parent | 3657257f1d46d826240f648b293095c1d35ac0fd (diff) | |
download | networkx-a86840eceab535c0d362f0ca45b6be4c690441cb.tar.gz |
Minor edits to connectivity package changes api_1.9.rst
-rw-r--r-- | doc/source/reference/api_1.9.rst | 83 |
1 files changed, 42 insertions, 41 deletions
diff --git a/doc/source/reference/api_1.9.rst b/doc/source/reference/api_1.9.rst index ce7e8731..d06f8e0d 100644 --- a/doc/source/reference/api_1.9.rst +++ b/doc/source/reference/api_1.9.rst @@ -109,52 +109,53 @@ True Connectivity package -------------------- -The flow based connecitivity and cut algorithms from the connectivity -package (:samp:`networkx.algorithms.connectivity`) were adapted to take +The flow-based connecitivity and cut algorithms from the connectivity +package (:samp:`networkx.algorithms.connectivity`) are adapted to take advantage of the new interface to flow algorithms. As a result, flow-based connectivity algorithms are up to 10x faster than in NetworkX 1.8 for some problems, such as sparse networks with highly skewed degree distributions. -A few backwards incompatible changes were introduced. - -* The local functions for flow-based connectivity and cuts accept now -arguments for the new parameters defined for the flow interface: -:samp:`flow_func` for defining the algorithm that will perform the -underlying maximum flow computations, :samp:`residual` that accepts -as argument a residual network to be reused in repeated maximum -flow computations, and :samp:`cutoff` for defining a maximum flow -value at which the underlying maximum flow algorithm stops. The big -speed improvement with respect to 1.8 comes mainly from the reuse -of the residual network, and the use of :samp:`cutoff`. - -* We removed the flow-based local connectivity and cut functions from -the base namespace. Now they have to be explicitly imported from the -connectivity package. The main entry point to flow-based connectivity -and cut functions are the functions :samp:`edge_connectivity`, -:samp:`node_connectivity`, :samp:`minimum_edge_cut`, and -:samp:`minimum_node_cut`. All these functions accept a couple of nodes -as optional arguments for computing local versions of these functions. - -* We improved the auxiliary digraph for connectivity functions: The node -mapping dict needed for node connectivity and minimum node cuts is now a -graph attribute of the auxiliary digraph. Thus we removed the -:samp:`mapping` parameter from the local version of connectivity and cut -functions. We also changed the parameter name for the auxuliary digraph -from :samp:`aux_digraph` to :samp:`auxiliary`. +A few backwards *incompatible* changes were introduced. + +* The functions for local connectivity and cuts accept now + arguments for the new parameters defined for the flow interface: + :samp:`flow_func` for defining the algorithm that will perform the + underlying maximum flow computations, :samp:`residual` that accepts + as argument a residual network to be reused in repeated maximum + flow computations, and :samp:`cutoff` for defining a maximum flow + value at which the underlying maximum flow algorithm stops. The big + speed improvement with respect to 1.8 comes mainly from the reuse + of the residual network and the use of :samp:`cutoff`. + +* We removed the flow-based local connectivity and cut functions from + the base namespace. Now they have to be explicitly imported from the + connectivity package. The main entry point to flow-based connectivity + and cut functions are the functions :samp:`edge_connectivity`, + :samp:`node_connectivity`, :samp:`minimum_edge_cut`, and + :samp:`minimum_node_cut`. All these functions accept a couple of nodes + as optional arguments for computing local connectivity and cuts. + +* We improved the auxiliary network for connectivity functions: The node + mapping dict needed for node connectivity and minimum node cuts is now a + graph attribute of the auxiliary network. Thus we removed the + :samp:`mapping` parameter from the local versions of connectivity and cut + functions. We also changed the parameter name for the auxuliary digraph + from :samp:`aux_digraph` to :samp:`auxiliary`. * We changed the name of the function :samp:`all_pairs_node_connectiviy_matrix` -to :samp:`all_pairs_node_connectivity`. This function now returns a dictionary -instead of a numpy 2d array. We added a new parameter nbunch for computing node -connectivity only among pairs of nodes in nbunch. - -* A :samp:`stoer_wagner` function was added to the connectivity package -for computing the weighted minimum cuts of undirected graphs using -the Stoer–Wagner algorithm. This algorithm is not based in computing -maximum flows. Several heap implementations were also added. -:class:`BinaryHeap` is recommeded over :class:`PairingHeap` for Python -implementations without optimized attribute accesses (e.g., CPython) -despite a slower asymptotic running time. For Python implementations -with optimized attribute accesses (e.g., PyPy), :class:`PairingHeap` -provides better performance. + to :samp:`all_pairs_node_connectivity`. This function now returns a dictionary + instead of a NumPy 2D array. We added a new parameter :samp:`nbunch` for + computing node connectivity only among pairs of nodes in :samp:`nbunch`. + +* A :samp:`stoer_wagner` function is added to the connectivity package + for computing the weighted minimum cuts of undirected graphs using + the Stoer–Wagner algorithm. This algorithm is not based on maximum flows. + Several heap implementations are also added in the utility package + (:samp:`networkx.utils`) for use in this function. + :class:`BinaryHeap` is recommeded over :class:`PairingHeap` for Python + implementations without optimized attribute accesses (e.g., CPython) + despite a slower asymptotic running time. For Python implementations + with optimized attribute accesses (e.g., PyPy), :class:`PairingHeap` + provides better performance. Other new functionalities ------------------------- |