A cut of a given graph.
This is a simple class used to represent cuts returned by Graph.mincut()
, Graph.all_st_cuts()
and other functions that calculate cuts.
A cut is a special vertex clustering with only two clusters. Besides the usual VertexClustering
methods, it also has the following attributes:
- value - the value (capacity) of the cut. It is equal to the number of edges if there are no capacities on the edges.
- partition - vertex IDs in the parts created after removing edges in the cut
- cut - edge IDs in the cut
- es - an edge selector restricted to the edges in the cut.
You can use indexing on this object to obtain lists of vertex IDs for both sides of the partition.
This class is usually not instantiated directly, everything is taken care of by the functions that return cuts.
Examples:
>>> from igraph import Graph >>> g = Graph.Ring(20) >>> mc = g.mincut() >>> print(mc.value) 2.0 >>> print(min(len(x) for x in mc)) 1 >>> mc.es["color"] = "red"
Method | __init__ |
Initializes the cut. |
Method | __repr__ |
Undocumented |
Method | __str__ |
Undocumented |
Property | cut |
Returns the edge IDs in the cut |
Property | es |
Returns an edge selector restricted to the cut |
Property | partition |
Returns the vertex IDs partitioned according to the cut |
Property | value |
Returns the sum of edge capacities in the cut |
Instance Variable | _cut |
Undocumented |
Instance Variable | _partition |
Undocumented |
Instance Variable | _value |
Undocumented |
Inherited from VertexClustering
:
Class Method |
|
Creates a vertex clustering based on the value of a vertex attribute. |
Method | __plot__ |
Plots the clustering to the given Cairo context in the given bounding box. |
Method | as |
Returns a VertexCover that contains the same clusters as this clustering. |
Method | cluster |
Returns a graph where each cluster is contracted into a single vertex. |
Method | crossing |
Returns a boolean vector where element i is True iff edge i lies between clusters, False otherwise. |
Method | giant |
Returns the largest cluster of the clustered graph. |
Method | recalculate |
Recalculates the stored modularity value. |
Method | subgraph |
Get the subgraph belonging to a given cluster. |
Method | subgraphs |
Gets all the subgraphs belonging to each of the clusters. |
Property | graph |
Returns the graph belonging to this object |
Property | modularity |
Returns the modularity score |
Method | _formatted |
Iterates over the clusters and formats them into a string to be presented in the summary. |
Method | _recalculate |
Recalculates the stored modularity value and swallows all exceptions raised by the modularity function (if any). |
Class Variable | _default |
Undocumented |
Instance Variable | _graph |
Undocumented |
Instance Variable | _modularity |
Undocumented |
Instance Variable | _modularity |
Undocumented |
Instance Variable | _modularity |
Undocumented |
Inherited from Clustering
(via VertexClustering
):
Method | __getitem__ |
Returns the members of the specified cluster. |
Method | __iter__ |
Iterates over the clusters in this clustering. |
Method | __len__ |
Returns the number of clusters. |
Method | compare |
Compares this clustering to another one using some similarity or distance metric. |
Method | size |
Returns the size of a given cluster. |
Method | size |
Returns the histogram of cluster sizes. |
Method | sizes |
Returns the size of given clusters. |
Method | summary |
Returns the summary of the clustering. |
Property | membership |
Returns the membership vector. |
Property | n |
Returns the number of elements covered by this clustering. |
Instance Variable | _len |
Undocumented |
Instance Variable | _membership |
Undocumented |
igraph.cut.Flow
Initializes the cut.
This should not be called directly, everything is taken care of by the functions that return cuts.