Skip to content

Latest commit

 

History

History
107 lines (75 loc) · 5.01 KB

File metadata and controls

107 lines (75 loc) · 5.01 KB

igraph C library changelog

[Unreleased]

Added

Changed

Fixed

Other

[0.8.1] - 2020-03-13

Changed

  • Improved interruptability: igraph_degree_sequence_game()
  • Improved argument checking: igraph_forest_fire_game()
  • Updated the plfit library to version 0.8.1

Fixed

  • igraph_community_edge_betweenness(): fix for graphs with no edges (PR #1312)
  • igraph_bridges() now handles multigraphs correctly (PR #1335)
  • igraph_avg_nearest_neighbor_degree(): fix for memory leak in weighted case (PR #1339)
  • igraph_community_leiden(): fix crash bug (PR #1357)

Other

  • Included ACKOWLEDGEMENTS.md
  • Documentation improvements

[0.8.0] - 2020-01-29

Added

  • Trees

    • igraph_to_prufer() and igraph_from_prufer() convert labelled trees to/from Prüfer sequences
    • igraph_tree_game() samples uniformly from the set of labelled trees
    • igraph_is_tree() checks if a graph is a tree
    • igraph_random_spanning_tree() picks a spanning tree of a graph uniformly at random
    • igraph_random_edge_walk() returns the indices of edges traversed by a random walk; useful for multigraphs
  • Community detection

    • igraph_community_fluid_communities() detects communities based on interacting fluids
    • igraph_community_leiden() detects communities with the Leiden method
  • Cliques

    • igraph_maximal_cliques_hist() counts maximal cliques of each size
    • igraph_maximal_cliques_callback() calls a function for each maximal clique
    • igraph_clique_size_hist() counts cliques of each size
    • igraph_cliques_callback() calls a function for each clique
    • igraph_weighted_cliques() finds weighted cliques in graphs with integer vertex weights
    • igraph_weighted_clique_number() computes the weighted clique number
    • igraph_largest_weighted_cliques() finds the largest weighted cliques
  • Graph generators

    • igraph_hsbm_game() for a hierarchical stochastic block model
    • igraph_hsbm_list_game() for a more general hierarchical stochastic block model
    • igraph_correlated_game() generates pairs of correlated random graphs by perturbing existing adjacency matrix
    • igraph_correlated_pair_game() generates pairs of correlated random graphs
    • igraph_tree_game() samples uniformly from the set of labelled trees
    • igraph_dot_product_game() generates a random dot product graph
    • igraph_realize_degree_sequence() creates a single graph with a given degree sequence (Havel-Hakimi algorithm)
  • Graph embeddings

    • igraph_adjacency_spectral_embedding() and igraph_laplacian_spectral_embedding() provide graph embedddings
    • igraph_dim_select() provides dimensionality selection for singular values using profile likelihood
  • Isomorphism

    • igraph_automorphism_group() computes the generators of the automorphism group of a simple graph
    • igraph_simplify_and_colorize() encodes edge and self-loop multiplicities into edge and vertex colors; use in conjunction with VF2 to test isomorphism of non-simple graphs
  • Other

    • igraph_bridges() finds edges whose removal would disconnect a graph
    • igraph_vertex_coloring_greedy() computes a vertex coloring using a greedy algorithm
    • igraph_rewire_directed_edges() randomly rewires only the starting points or only the endpoints of directed edges
    • Various igraph_local_scan_* functions provide local counts and statistics of neighborhoods
    • igraph_sample_sphere_surface() samples points uniformly from the surface of a sphere
    • igraph_sample_sphere_volume() samples points uniformly from the volume of a sphere
    • igraph_sample_dirichlet() samples points from a Dirichlet distribution
    • igraph_malloc(), to be paired with the existing igraph_free()

Changed

  • igraph_degree_sequence_game(): new method added for uniform sampling: IGRAPH_DEGSEQ_SIMPLE_NO_MULTIPLE_UNIFORM
  • igraph_modularity_matrix(): removed membership argument (PR #1194)
  • igraph_avg_nearest_neighbor_degree(): added mode and neighbor_degree_mode arguments (PR #1214).
  • igraph_get_all_simple_paths(): added cutoff argument (PR #1232).
  • igraph_unfold_tree(): no longer preserves edge ordering of original graph
  • igraph_decompose(): support strongly connected components
  • igraph_isomorphic_bliss(), igraph_canonical_permutation(), igraph_automorphisms(): added additional arguments to support vertex colored graphs (PR #873)
  • igraph_extended_chordal_ring: added argument to support direction (PR #1096), and fixed issue #1093.

Other

  • The Bliss isomorphism library was updated to version 0.73. This version adds support for vertex colored and directed graphs.
  • igraph now uses the high-performance Cliquer library to find (non-maximal) cliques
  • Provide proper support for Windows, using __declspec(dllexport) and __declspec(dllimport) for DLLs and static usage by using #define IGRAPH_STATIC 1.
  • Provided integer versions of dqueue and stack data types.