v0.4
v0.4
New functions:
- Deterministic graph generators:
IGKautzGraph
,IGCompleteGraph
,IGCompleteAcyclicGraph
,IGDeBruijnGraph
,IGChordalRing
,IGEmptyGraph
,IGRealizeDegreeSequence
,IGFromPrufer
,IGToPrufer
,IGKaryTree
,IGSymmetricTree
,IGBetheLattice
,IGTriangularLattice
,IGMycielskian
,IGExpressionTree
,IGShorthand
,IGFromNauty
. - Random graph generators:
IGWattsStrogatzGame
,IGCallawayTraitsGame
,IGEstablishmentGame
,IGTreeGame
,IGErdosRenyiGameGNM
,IGErdosRenyiGameGNP
. - Weighted graph functions:
IGWeightedSimpleGraph
,IGWeightedUndirectedGraph
,IGWeightedVertexDelete
,IGWeightedSubgraph
,IGUnweighted
,IGDistanceWeighted
,IGWeightedAdjacencyGraph
,IGVertexWeightedQ
,IGEdgeWeightedQ
,IGVertexStrength
,IGVertexInStrength
,IGVertexOutStrength
. - Community detection:
IGCommunitesFluid
,IGCommunitiesLeiden
. - Graph colouring functions:
IGVertexColoring
,IGEdgeColoring
,IGKVertexColoring
,IGKEdgeColoring
,IGMinimumVertexColoring
,IGMinimumEdgeColoring
,IGChromaticNumber
,IGChromaticIndex
,IGVertexColoringQ
. - Clique cover:
IGCliqueCover
,IGCliqueCoverNumber
. - Mesh/graph conversion:
IGMeshGraph
,IGMeshCellAdjacencyMatrix
,IGMeshCellAdjacencyGraph
. - Lattice generation:
IGLatticeMesh
,IGTriangularLattice
. - Proximity graphs:
IGDelaunayGraph
,IGGabrielGraph
,IGRelativeNeighborhoodGraph
,IGLuneBetaSkeleton
,IGCircleBetaSkeleton
. - Centralization:
IGDegreeCentralization
,IGBetweennessCentralization
,IGClosenessCentralization
,IGEigenvectorCentralization
. - Planar graphs:
IGPlanarQ
,IGMaximalPlanarQ
,IGOuterplanarQ
,IGKuratowskiEdges
,IGFaces
,IGDualGraph
,IGEmbeddingQ
,IGPlanarEmbedding
,IGOuterplanarEmbedding
,IGCoordinatesToEmbedding
,IGEmbeddingToCoordinates
,IGLayoutPlanar
,IGLayoutTutte
. - Adjacency lists and embeddings:
IGAdjacencyList
,IGAdjacencyGraph
. - Spanning trees and other tree-related functionality:
IGSpanningTree
,IGRandomSpanningTree
,IGSpanningTreeCount
,IGUnfoldTree
,IGTreeQ
,IGForestQ
,IGTreelikeComponents
,IGTreeGame
,IGStrahlerNumber
,IGOrientTree
. - Matching functions:
IGMaximumMatching
,IGMatchingNumber
. - Dominance:
IGDominatorTree
,IGImmediateDominators
- Maximum flow:
IGMaximumFlowValue
,IGMaximumFlowMatrix
. - Isomorphism:
IGGetIsomorphism
andIGGetSubisomorphism
(they work with multigraphs),IGColoredSimpleGraph
(for transforming multigraph isomorphism to coloured graph isomorphism). - Transitivity:
IGVertexTransitiveQ
,IGEdgeTransitiveQ
,IGSymmetricQ
,IGDistanceTransitiveQ
. - Regular graphs:
IGRegularQ
,IGStronglyRegularQ
,IGStronglyRegularParameters
,IGDistanceRegularQ
,IGIntersectonArray
. - A framework for easy property transformations and graph styling:
IGVertexProp
,IGEdgeProp
,IGEdgeVertexProp
,IGVertexMap
,IGEdgeMap
,IGVertexPropertyList
,IGEdgePropertyList
. - Import functions:
IGImport
,IGImportString
,$IGImportFormats
; support for importing Graph6, Digraph6 and Sparse6. - Export functions:
IGExport
,IGExportString
,$IGExportFormats
; support for exporting standards-compliant GraphML that can be read by other igraph interfaces (R, Python). - Matrix functions:
IGZeroDiagonal
,IGTakeUpper
,IGTakeLower
,IGAdjacencyMatrixPlot
,IGKirchhoffMatrix
,IGJointDegreeMatrix
. - Bipartite graphs:
IGBipartiteIncidenceMatrix
,IGBipartiteIncidenceGraph
,IGBipartiteProjections
. - Random walks:
IGRandomEdgeWalk
,IGRandomEdgeIndexWalk
- Connectivity:
IGGiantComponent
,IGMinimalSeparators
,IGFindMinimumCuts
,IGFindMinimalCuts
,IGBridges
,IGConnectedComponentSizes
,IGWeaklyConnectedComponentSizes
,IGGomoryHuTree
. - Efficiency measures:
IGGlobalEfficiency
,IGLocalEfficiency
,IGAverageLocalEfficiency
. - Neighbour degrees:
IGAverageNeighborDegree
,IGAverageDegreeConnectivity
- Other testing functions:
IGTriangleFreeQ
,IGSelfComplementaryQ
,IGCactusQ
,IGNullGraphQ
,IGHomeomorphicQ
,IGAdjacentVerticesQ
. - Other new functions:
IGNeighborhoodSize
,IGCoreness
,IGVoronoiCells
,IGSmoothen
,IGSimpleGraph
,IGPartitionsToMembership
,IGMembershipToPartitions
,IGSinkVertexList
,IGSourceVertexList
,IGIsolatedVertexList
,IGReorderVertices
,IGTakeSubgraph
,IGDisjointUnion
,IGTryUntil
,IGVertexAssociate
. - Added
IGIndexEdgeList
for retrieving the edge list of a graph in terms of vertex indices. This function is very fast and returns a packed array. It facilitates the efficient implementation of graph processing functions in pure Mathematica code, or interfacing with C libraries.
Updates to existing functions:
- Community detection: Several functions support the
"ClusterCount"
option now. IGRewireEdges
now supports rewiring only the start or endpoint of directed edges (instead of both).IGBipartiteQ
now supports checking that a given partitioning is valid for a bipartite graph.IGBipartitePartitions
now provides control over the ordering of partitions using its second argument.- Isomorphism functions now ignore the directedness of empty graphs.
- Isomorphism functions can now take vertex or edge colours from graph attributes.
IGBlissCanonicalGraph
will now include include vertex colours into its output when appropriate, encoded as the"Color"
vertex property.IGDistanceCounts
now optionally takes a list of starting vertices.IGBetweenness(Estimate)
andIGCloseness(Estimate)
now optionally take a set of vertices to do the calculation on.IGBetweenness(Estimate)
andIGEdgeBetweenness(Estimate)
now have theNormalized
option.IGRandomWalk
now supports edge weights and theEdgeWeights
option. UseEdgeWeights -> None
to ignore weights, and thus restore the previous behaviour.- Clustering coefficient functions now support the
"ExcludeIsolates"
option.
Incompatible changes from IGraph/M 0.3:
- A flat namespace structure is used. Functions from
IGraphM`Utilities`
have been moved toIGraphM`
. - Renamed
"MultipleEdges"
option toMultiEdges
for convenient typing and auto-completion. - Renamed
IGMinSeparators
toIGMinimumSeparators
. - Renamed
IGMakeLattice
toIGSquareLattice
. The nameIGMakeLattice
works, but it is deprecated.
Other changes:
- Improved compatibility with Mathematica versions 11.2–12.1; handling of
TwoWayRule
as an edge specification and support for edge tagged graphs. - Bug fixes, performance improvements, documentation updates, and general polish.
Notes:
- IGraph/M 0.4 will be the last version of IGraph/M to support Mathematica 10.0. Starting with IGraph/M 0.5, it will only work with versions of Mathematica that are still supported by Wolfram Research.