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.