gives the graph with Kirchhoff matrix kmat.
gives the graph with vertices vi and Kirchhoff matrix kmat.
Background & Context
- KirchhoffGraph constructs a graph from a valid Kirchhoff matrix representation of an undirected or directed graph. Here, a Kirchhoff matrix corresponding to a graph on n vertices is a square n×n matrix defined in terms of the vertex degrees of the graph and its adjacency matrix. The Kirchhoff matrix plays a central role in spectral graph theory, which is the study of graphs based on the eigenvalues of their adjacency or Kirchhoff matrices. It can also be used for calculating resistance distances between vertices of a graph, which are defined as the effective resistances between vertices (as when a battery is attached across them) when each graph edge is replaced by a unit resistor.
- The option DirectedEdges may be used to control whether an undirected or directed graph is constructed. By default, KirchhoffGraph returns an undirected graph if the input matrix is symmetric and a directed graph otherwise. KirchhoffGraph takes the same basic options as Graph.
- The Kirchhoff matrix of a given graph (including one constructed using KirchhoffGraph) may be returned using KirchhoffMatrix. Similar functions include AdjacencyGraph (which constructs a graph from an adjacency matrix), WeightedAdjacencyGraph, and IncidenceGraph (which constructs a graph from an incidence matrix).
Examplesopen allclose all
Basic Examples (2)
Use DirectedEdges to construct a directed graph from a symmetric matrix:
Use a SparseArray object to specify the adjacency matrix:
KirchhoffGraph works with large matrices:
Use Placed with symbolic locations to control label placement along an edge:
Get a list of built-in settings for EdgeShapeFunction:
Use Placed with symbolic locations to control label placement, including outside positions:
Get a list of built-in collections for VertexShapeFunction:
Use built-in settings for VertexShapeFunction in the "Basic" collection:
Use built-in settings for VertexShapeFunction in the "Rounded" collection:
Use built-in settings for VertexShapeFunction in the "Concave" collection: