igraph 0.5.1 Release Notes
igraph 0.5.1 is a bugfix release, but it actually contains many
important new things as well. Here is a brief summary about each of
them. See below for the complete list of changes.
The DrL layout generator was added
This is a sophisticated and efficient layout generator written by
Shawn Martin and colleagues. See more in the
reference
manual.
A nice random graph generator that conditions on the degree of vertices
was added. It can generate undirected connected graphs.
The algorithm and the implementation was done by Fabien Viger and Matthieu Latapy.
See more in the
reference manual.
Weighted shortest path algorithms
Both the Dijkstra and the Belmann-Ford algorithms were added.
See more in the
reference manual.
Function to test edge reciprocity
Mutuality can be tested for each edge now. See more in the
reference manual.
New in the C layer
- A new layout generator called DrL.
- Uniform sampling of random connected undirected graphs with a
given degree sequence.
- Some stochastic test results are ignored (for spinglass community
detection, some Erdos-Renyi generator tests)
- Weighted shortest paths, Dijkstra’s algorithm.
- The unweigthed shortest path routine returns
Inf
for unreachable
vertices.
- New function,
igraph_adjlist
can create igraph graphs from
adjacency lists.
- New function,
igraph_weighted_adjacency
can create weighted graphs
from weight matrices.
- New function,
igraph_is_mutual
to search for mutual edges.
- Added inverse log-weighted similarity measure (a.k.a. Adamic/Adar
similarity).
igraph_preference_game
and igraph_asymmetric_preference_game
were
rewritten, they are O(|V|+|E|) now, instead of O(|V|^2).
- The Bellman-Ford shortest path algorithm was added.
- Added weighted variant of
igraph_get_shortest_paths
, based on
Dijkstra’s algorithm.
- Several small memory leaks were removed, and a big one from the Spinglass
community structure detection function
Bugs corrected in the C layer
- Several bugs were corrected in the (still experimental) C attribute
handler.
- Pajek reader bug corrected, used to segfault if
*Vertices
was missing.
- Directedness is handled correctly when writing GML files.
(But note that ‘correct’ conflicts the standard here.)
- Corrected a bug when calculating weighted, directed PageRank on an
undirected graph. (Which does not make sense anyway.)
- Some code polish to make igraph compile with GCC 4.3
- Several bugs were fixed in the Reingold-Tilford layout to avoid
edge crossings.
- A bug was fixed in the GraphML reader, when the value of a graph
attribute was not specified.
- Fixed a bug in the graph isomorphism routine for small (3-4 vertices)
graphs.
- Corrected the random sampling implementation (
igraph_random_sample
),
now it always generates unique numbers. This affects the
G(n,m) Erdos-Renyi generator, it always generates simple graphs now.
- The basic igraph constructor (
igraph_empty_attrs
, all functions
are expected to call this internally) now checks whether the number
of vertices is finite.
- The LGL, NCOL and Pajek graph readers handle errors properly now.
- The non-symmetric ARPACK solver returns results in a consistent form
now.
- The fast greedy community detection routine now checks that the graph
is simple.
- The LGL and NCOL parsers were corrected to work with all
kinds of end-of-line encodings.
- Hub & authority score calculations initialize ARPACK parameters now.x
- Fixed a bug in the Walktrap community detection routine, when applied
to unconnected graphs.