igraph Reference Manual

For using the igraph C library

Search the manual:

Chapter 33. Glossary

This glossary defines common terms used throughout the igraph documentation.

  • attribute: A piece of data associated with a vertex, an edge, or the graph itself. The igraph C library currently supports numeric, string and Boolean attribute values, and provides a means for implementing attribute handlers that support custom types.

  • adjacent: Two vertices are called adjacent if there is an edge connecting them. This term describes a vertex-to-vertex relation.

  • adjacency list: A data structure that associates a list of neighbours (i.e. adjacent vertices) to each vertex.

  • adjacency matrix: A representation of a graph as a square matrix. A_ij gives the number of edge endpoints connecting from the ith vertex to the jth vertex. Conventionally, the diagonal of the adjacency matrix of an undirected graph contains twice the number of self-loops. All igraph functions follow this convention unless noted otherwise.

  • biadjacency matrix: Analogous to the adjacency matrix, but used for bipartite graphs. Element B_ij gives the number of edges from the ith vertex of the first group to the jth vertex of the second group.

  • bipartite graph: A graph whose vertices can be partitioned into two groups in such a way that connections are present only between members of different groups.

  • complete graph: Also called full graph within the context of igraph, a graph in which all pairs of vertices are connected to each other.

  • connected graph: A connected graph consists of a single component, in which any vertex is reachable from any other. In igraph, the null graph is not considered connected, as it has not one, but zero components.

  • edge: A connection between two vertices, also called a link. In igraph, edges are referred to by integer indices called edge IDs.

  • finalizer stack: A global stack used internally by igraph to keep track of currently allocated objects and their destructors, so that they can be automatically destroyed in case of an error.

  • game: Within igraph, this term is used for stochastic graph generators, i.e. functions that sample from random graph models.

  • graph or network: A set of vertices with connections between them. In igraph, graphs may carry associated data in the form of vertex, edge or graph attributes.

  • incident: An edge is called incident to the vertices that are its endpoints. This term describes a vertex-to-edge relation.

  • incidence list: A data structure that associates a list of incident edges to each vertex.

  • incidence matrix: A matrix describing the incidence relation between vertices (rows) and edges (columns).

  • membership vector: Membership vectors are a means of encoding a partitioning of items, usually vertices, into several groups. The ith element of the vector gives an integer identifier of the group the ith vertex belongs to. Membership vectors are typically used to describe a vertex clustering obtained through community detection, or by identifying the connected components of a graph.

  • multi-edges or parallel edges: More than one edge connecting the same two vertices. In a directed graph, a -> b, a -> b are considered parallel edges, but a -> b, a <- b are not.

  • null graph: A graph with no vertices (and no edges).

  • self-loop, self-edge, or simply loop: An edge that connects a vertex to itself.

  • simple graph: A graph that does not have self-loops or multi-edges.

  • singleton graph: A graph having a single vertex. This term usually refers to a single vertex with no edges, but note that self-loops may in principle be present.

  • vertex: Graphs consist of vertices, also called nodes, that are connected to each other. In igraph, vertices are referred to by integer indices called vertex IDs.