The goal of The Encyclopedia of Graphs is to become a reference repository for graphs. However, we are not alone in this world and we greatly appreciate all the initiatives for graph generation or collection. Therefore, we provided the sites where you can find more graph collections, especially larger families that are just too big to show here.
- House of Graphs from Universiteit Gent houses (or links to) 20 different graph collections and their derivations. Their also provide their own database of “interesting” graphs that were used in different conjectures or proofs.
- Brendan McKay lists different combinatorial data of smaller graphs (general graphs, eulerian graphs, strongly regular graphs, Ramsey graphs, hypohamiltonian graphs, planar graphs, self-complementary graphs, and highly irregular graphs, plane graphs and trees).
- Gordon Royle assembled families with properties ranging from colorings, criticality, transitivity, planarity, regularity, etc.
- Markus Meginger focused himself on regular graphs.
- Primož Potočnik provides censuses of cubic and tetravalent graphs having different degrees of symmetry.
- Marston Conder lists all cubic symmetric graphs up to 10000 vertices (together with maps, polytopes and group actions on surfaces)
- Ted Spence offers strongly regular graphs on at most 64 vertices, while Andries E. Brouwer lists parameters of known strongly regular graphs up to 13000 vertices.
- discrete Zoo is a new initiative, combining the power of Sage to work with graph collections.
Graph generation tools
Graph generation software ranges from specific open-source tools to bundled software packages (that can be expensive).
- nauty is a program for computing the automorphism group and canonical labeling of graphs and digraphs. It is also a must have for graph generation and calculation of their properties. Learn how to use dreadnaut and tools such as geng, countg, amg, lists, showg, dretog, etc. and you will master the art of graph collections.
- Small and usually very efficient programs that depend on nauty also include Snarkhunter for generation of connected cubic graphs and snarks, Minibaum for generation of connected cubic graphs, Buckygen for generation of all nonisomorphic fullerenes, Triangleramsey for generation of maximal triangle-free graphs, and GenHypohamiltonian for generation of hypohamiltonian graphs.
- The alternatives to nauty that compute the automorphism group and/or canonical labeling of graphs include bliss , Saucy , as well as Traces , which comes as a part of nauty package. Note that the canonical labels produced by different software tools are not necessary the same.
- Plantri and fullgen are programs for generation of certain types of planar graphs.
- SageMath is an open-source mathematics software system in Python language, build on top of many existing open-source packages NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R, etc.
- Mathematica is the world's definitive system for modern technical computing. Or so they say.
- Magma is a computer algebra system designed to solve problems in algebra, number theory, geometry and combinatorics.
- CaGe is an open-source software package for generating mathematical graphs of different types, relating to interesting chemical molecules.
Graphs can be encoded in many ways, depending if our goal is smaller size or human readability. Here we name a few:
- Adjacency matrix
- Adjacency list
- Edge list
- graph6/sparse6/digraph6 code
- Planar code
- GraphML, GXL, DOT, TGF, etc.
For collections it's best to work with graph6/sparse6 encodings as they offer smallest size in general and can be further compressed using data compression algorithms (zip, gzip, etc.). But they have a drawback of not supporting directed graphs (which can be written in digraph6 encoding). The Encyclopedia works with sparse6 format due to its higher efficiency for non-dense graphs.
- Pajek is a free Windows program for analysis and visualization of large networks having some thousands or even millions of vertices. Pajek also has a 3XL version that can be used for analysis of huge networks (billions of vertices) where identity of vertices is not important and cannot be loaded into physical memory by Pajek.
- Gephi is an open-source visualization and exploration software for all kinds of graphs and networks. It provides exploratory data analysis, link analysis, social network analysis, biological network analysis, etc.
- Cytoscape is an open source software platform for visualizing complex networks and integrating these with any type of attribute data. A lot of additional Apps are also available for various kinds of problem domains.
- NodeXL is an open-source template for Microsoft® Excel® 2007, 2010, 2013 and 2016 that makes it easy to explore network graphs.
- NetMiner is a commercial software tool for exploratory analysis and visualization of network data.
- NetworKit is an open-source toolkit for large-scale network analysis. NetworKit is a Python module. Performance-aware algorithms are written in C++ and exposed to Python via the Cython toolchain.
- NetworkX is a Python language software package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
- Cuttlefish is a network workbench application that visualizes networks. Cuttlefish is only compatible to UNIX systems with the Java Runtime Environment 1.6 installed.
- EgoNet is an open-source program for the collection and analysis of egocentric network data. It helps you create the questionnaire, collect data, and provide general global network measures and data matrixes that can be used for further analysis by other software.
- Tulip is an information visualization framework written in C++ and dedicated to the analysis and visualization of relational data.
- Kumu is a commercial data visualization platform that helps you organize complex information into interactive relationship maps.
- UCINET is a commercial software package for the analysis of social network data.
- SocNetV is an open-source tool for the analysis and visualization of Social Networks.
- igraph is a network analysis package that can be used in C, Python, R and Mathmatica.
Networks can also be encoded in many ways, depending on the functionality needed. Here we name a few:
- Pajek NET
- GraphViz DOT
- UCINET DL
- Tulip TPL
- Netdraw VNA
Thank you again for visiting the Encyclopedia!
GReGAS Atlas Team