About igraph releases and other things
June 11, 2012
igraph 0.6 is a major new release of igraph. It contains many new features and major changes, a lot of bug fixes and improvements. As always, we are grateful to the people who sent comments, bug reports, questions, and specially to people who contributed code.
See below a list of major changes, with links to the relevant sections of the documentation. New features in R, Python, and C are all listed here.
See at the end for a (more) complete list of changes.
Community structure detection via exact modularity optimization. As
modularity optimization in an NP-complete problem, this works only for
small graphs. See
The multi-level modularity optimization algorithm by Blondel et
al. was added. See
Hierarchical random graphs and community finding, based on the code from Aaron Clauset. See In the manual for details.
We support now the InfoMAP community finding method, thanks to
Emmanuel Navarro for the code. See
The edge betweenness community detection method of Newman and Girvan now also works on weighted graphs. See the Reference manual.
We have added some functions to compare various community structures.
Igraph now implements the Spectral Coarse Graining method, by David Morton, our implementation is based on his code. See the manual.
The cohesive block finding functions were rewritten from scratch in
C. They are much faster now, and they have a nicer API, too. See
Centralization scores for degree, closeness, betweenness and eigenvector centrality. See the manual.
Personalized PageRank scores. See the manual.
Authority and hub scores, betweenness and closeness calculations all support edge weights now. See the manual.
Igraph now implements the Sugiyama layout algorithm for layered
directed acyclic graphs. See
Igraph now implements the push-relabel algorithm and the Kuhn-Munkres algorithm (also known as the Hungarian method) to find maximum matchings in unweighted and weighted bipartite graphs. See the manual.
igraph_maximum_cardinality_search()and chordality test:
igraph_read_graph_dl(). See http://www.analytictech.com/networks/dataentry.htm.
igraph_sparsemat_t, a type that implements sparse matrices based on the CXSparse library by Tim Davis. See http://www.cise.ufl.edu/research/sparse/CXSparse/.
igraph_get_all_shortest_paths_dijkstra, for calculating all non-negatively weighted shortest paths.
igraph_status()and related functions.
igraph_has_multiple()to decide whether a graph has multiple edges.
igraph_integer_tis really an integer now, it used to be a double.
igraph_minimum_spanning_tree(), calls either the weighted or the unweighted implementation.
igraph_eccentricity()), and radius (
igraph_authority_score()) and hub (
igraph_hub_score()) scores support edge weights now.
igraph_laplacian()) supports edge weights now.
igraph_betweenness()) and closeness (
igraph_biconnected_components()) can now return the components themselves.
igraph_eigenvector_centrality()now works for directed graphs.
get_shortest_paths_dijkstra()can now return the edges along the paths.
igraph_bipartite_projection()calculates multiplicity of edges.
igraph_barabasi_game()was rewritten and it supports three algorithms now, the default algorithm does not generate multiple or loop edges.
igraph_watts_strogatz()can now create graphs without loop edges.
We also fixed numerous bugs, too many to include them here, sorry. You may look at our bug tracker at https://bugs.launchpad.net/igraph to check whether a bug was fixed or not. Thanks for all the people reporting bugs. Special thanks to Minh Van Nguyen for a lot of bug reports, documentation fixes and contributed code!