Duality in Geometric Graphs: Vector Graphs, Kirchhoff Graphs and Maxwell Reciprocal Figures

We compare two mathematical theories that address duality between cycles and vertex-cuts of graphs in geometric settings. First, we propose a rigorous definition of a new type of graph, vector graphs. The special case of R 2-vector graphs matches the intuitive notion of drawing graphs with edges taken as vectors. This leads to a discussion of Kirchhoff graphs, as originally presented by Fehribach, which can be defined independent of any matrix relations. In particular, we present simple cases in which vector graphs are guaranteed to be Kirchhoff or non-Kirchhoff. Next, we review Maxwell's method of drawing reciprocal figures as he presented in 1864, using modern mathematical language. We then demonstrate cases in which R 2-vector graphs defined from Maxwell reciprocals are " dual " Kirchhoff graphs. Given an example in which Maxwell's theories are not sufficient to define vector graphs, we begin to explore other methods of developing dual Kirchhoff graphs.


Introduction
This paper will discuss a newly-defined type of graph: vector graphs.Graphs in which edges are identified as vectors arise in the theory of Kirchhoff graphs developed by Fehribach [1,2].Kirchhoff graphs comprise a special class of vector graphs, which reflect the orthogonal complementarity of the row and null space of integer matrices.The original development of Kirchhoff graphs was motivated by the study of chemical reaction networks.Given the stoichiometric matrix of a chemical reaction network, any Kirchhoff graph for the transpose of that matrix represents a circuit diagram for that network.Kirchhoff graphs were so-named because they satisfy both the Kirchhoff potential law and the Kirchhoff current law.The use of Kirchhoff graphs as reaction network diagrams was discussed by Fehribach [1], as well as by Fishtik, Datta et al. [3][4][5][6], who discuss a related graph, the "reaction route graph".A number of other graphs have been used in the study of reaction networks; a summary can be found in [7,8].Within the context of reaction networks, the vertices of a Kirchhoff graph represent combinations of component chemical species, whereas the vector edges represent the reaction steps required to move between these combinations.Therein lies the motivation for developing graphs with "vector" edges: within a chemical reaction network, the same reaction process can occur given a number of different initial states of the chemical system.In a graphical representation, taking the edges corresponding to this reaction to be identical in the vector sense allows us to graphically identify this similarity.To the authors' knowledge, graphs with vector edges, where edges identified as the same vector are considered the same edge, have not been previously well studied.
The primary focus of this paper will be the relationships between Kirchhoff graphs and Maxwell's theory of reciprocal figures [9,10].Both theories deal with geometric graphs in which the length and direction of each edge are taken into consideration.In particular, this leads to a discussion of a new type of geometric duality: Kirchhoff dual graphs.Section 2 presents a rigorous definition of vector graphs, including explicit examples in the two-dimensional Euclidean plane.After defining the edge, cycle and cut spaces on this new type of graph, in Section 3, we define and discuss Kirchhoff graphs.Here, we present some cases in which we are guaranteed that simple vector graphs are either Kirchhoff or non-Kirchhoff.In order to ease the comparison of the two theories, Section 4 reviews the beginnings of Maxwell's reciprocal methods, using modern mathematical language.Section 5 then provides connections between these two theories and demonstrates that in general, Maxwell reciprocals can lead to pairs of Kirchhoff graphs (in R 2 ), which are dual to each other.Given examples in which these methods no longer agree, Section 6 moves beyond Maxwell's reciprocals and begins to explore other methods of identifying Kirchhoff duals.

Vector Graphs
Kirchhoff graphs are distinctive among all graphs in that their edges are identified as vectors.
In this section, we first give an abstract definition of this class of graphs, vector graphs, then present concrete examples which are both useful in applications and have motivated these ideas.These definitions may seem opaque upon first reading; subsequent examples will be used to illustrate the intuition behind these abstract notions.Speaking generally, vector graphs are graphs with edges identified as vectors, which satisfy the vector space axioms.The following discussion makes this idea exact.
Let D = (V (D), E(D)) be a finite directed multi-graph with vertex set V (D) = {v 1 , . . ., v p } and edge set E(D) = {e 1 , . . ., e n }.A cycle L of D is an alternating sequence of vertices and edges , where v L k+1 = v L 1 and edge e L j is directed between vertices v L j and v L j+1 .(We allow that cycle L traverses any edge or vertex of D more than once, and edges may be traversed in either direction, independent of orientation.Some authors would instead refer to this as a "closed walk" in graph D.) We say edge e L j is oriented as L when v L j v L j+1 = e L j ; otherwise, when v L j+1 v L j = e L j , e L j is not oriented as L [11].L can also be written as L = (±e L 1 )(±e L 2 ) • • • (±e L k ) (where +, respectively −, is chosen if e L k is oriented, respectively not oriented, as L).Let F be a vector space with zero element 0 and S = {s 1 , . . ., s m } be a set of m non-zero vectors in F. Definition 1.Given a multi-digraph D and some set S ⊂ F as above, a (D, S)-vector assignment is a surjective map, ϕ : E(D) → S, which assigns to each edge e i ∈ E(D) some element s j ∈ S. We will notate ϕ : e i → s j as ϕ(e i ) = s j .A (D, S)-vector assignment is consistent if for any cycle L = (±e L 1 )(±e Remark 1.The underlying vector space F and set of vectors S are pivotal in the definition of a vector graph, though not included in the notation (D, ϕ), as they are implicit by the inclusion of ϕ.We will sometimes refer to a vector graph as an F-vector graph to make clear the ambient space F of vectors; for example, R 2 -vector graphs will be detailed below in Section 2.1.

Remark 2.
Under this definition, a vector graph must maintain the vector space axioms of F. For example, let D = (D,ϕ) be a vector graph where (e 1 )(e 2 )(e 3 )(e 4 ) is a cycle in D and ϕ(e i ) = s i for 1 ≤ i ≤ 4.Then, for example, if the vectors of S satisfy s 1 = −s 3 in F, it must be the case that s 2 = −s 4 in F, as well.
The two-dimensional Euclidean plane is a natural space in which we visualize both graphs and vectors; therefore, the next section is dedicated to an explicit description of vector graphs in the plane.

Vector Graphs in the Plane
We may choose vector space F = R 2 , so that each s i ∈ S is a two-space vector.Then, given multi-digraph D and (D, S)-vector assignment ϕ, if D = (D,ϕ) is a vector graph, D can be drawn in the plane where each edge e i is drawn as its assigned vector s j .This is guaranteed by the consistency of vector assignment ϕ.In such a drawing, identified edges in D are represented by identical vectors in the plane.Thus, R 2 -vector graphs may be considered as geometric graphs constructed on vector edges.Conversely, any drawing of a digraph in R 2 in which edges are taken as vectors, those with the same length and direction are considered identical, defines an R 2 -vector graph.
Remark 3. Herein lies the intuition behind requiring ϕ to be consistent; any graph drawn on vector edges gives a well-defined vector graph.For instance, let D be a graph drawn on vector edges with cycle (e 1 )(e 2 )(−e 3 )(−e 4 ).If e 1 and e 3 are identical vectors, edges e 2 and e 4 are then forced to be identical, as well.The definition of vector graphs maintains such forced identifications through the consistency of ϕ.
All vector graphs illustrated in this paper will be shown as R 2 -vector graphs: points connected by vectors in two-space.For simplicity, we will omit Euclidean axes, but label all vector edges with labels s i to make clear which edges are identified.Although vector graphs will always be presented in the plane, these graphs are not inherently two-dimensional.In fact, for applications, it can be advantageous to consider R n -vector graphs, where two-space representations can arise as plane projections of these higher dimensional objects.
Example 1.Consider a simple digraph, D = (V (D), E(D)), where: Let ϕ be the following (D, S)-vector assignment: One may verify that ϕ is consistent.For example, (e 1 )(−e 6 )(−e 4 ) is a cycle in D and: Therefore, D = (D,ϕ) is a vector graph, and D can be drawn in the plane where each edge is drawn as (and labeled by) its assigned vector s j , as shown in Figure 1.Example 2. Figure 2 displays two vector graphs, A = (D 0 , ϕ 1 ) and B = (D 0 , ϕ 2 ), where ϕ i is a (D 0 , S i )-vector assignment and S 1 = S 2 .Thus, two different (consistent) (D 0 ,S i )-vector assignments on the same multi-digraph D 0 produce visibly different R 2 -vector graphs.A is a vector graph on five vertices with eight distinct edges, whereas B is a vector graph on five vertices with four distinct edges.By definition, vector graphs are allowed to have multiple edges connecting two vertices.In an R 2 -vector graph, all such multiples must be identified with each other; Roman numerals will be used to indicate the multiples of each edge when drawing vector graphs.

The Edge Space of Vector Graphs
In classical graph theory, the edge space of a directed graph D is defined to be the vector space of functions from E(D) into any scalar field (for example, C as in [11]) with distinct elements −1, 0 and 1.The standard basis of the edge space is the functions { f 1 , . . ., f n } where f i (e j ) = δ i,j (the Kronecker delta).Therefore, any a in the edge space of D may be written as a = ∑ n i=1 α i f i = [α i ] n i=1 .In particular, any element of the edge space of D can be represented by a vector in C n .When considering vector graphs, which are both directed and allow multiple (identified) edges, we require a scalar field F that contains Z as a sub-ring (we choose C).Let D = (D,ϕ) be a vector graph as above: in particular, |V  Proof.For each 1 ≤ i ≤ m, let E i ∈ C e (D) be the function defined by E i (s j ) = δ i,j .In C e (D), the zero element, 0, is the function that assigns value zero to each distinct s i ∈ E(D).If there exist scalars {γ 1 , . . ., γ m }, such that . Next, we consider two special subspaces of C e (D).
Observe that z L (s i ) is the net number of times edges identified as s i are traversed in L. This number is positive when more edges identified as s i are traversed oriented as L and negative if more occurrences of s i are traversed that are not oriented as L. Any z L ∈ C e (D) can be represented as a vector in C m .We call this vector the characteristic vector of L, denoted by χ(L).This vector is also sometimes called the cycle vector corresponding to L. The cycle space of D is the subspace of C m spanned by the cycle vectors corresponding to all cycles L in D. and E

The Cut Space
denotes the set of cut edges.(Some authors refer to E(V 1 , V 2 ) as the cut: the edges one would need to "cut" to separate the vertex sets V 1 and V 2 in D.) Any cut P of D is identified with an element u P ∈ C e (D).Once again, it suffices to define u P (s i ) for each s i ∈ E(D).Namely, define: Therefore, u P (s i ) is the net number of edges identified as s i directed from V 1 to V 2 .This number is positive when more edges identified as s i are directed from V 1 to V 2 and negative if more are directed from V 2 to V 1 .As u P ∈ C e (D), it can be represented as a vector Λ(P) ∈ C m .We will refer to this vector as the cut vector corresponding to P. The cut space of D is the subspace of C m spanned by the cut vectors corresponding to all cuts P of D.

Computing the Cycle Space and Cut Space
The cycle space and cut space of multi-digraph D are defined in a similar way.For example, any cycle l = v l 1 (e l 1 )v l 2 . . .v l k (e l k )v l k+1 has cycle vector χ(l) = [λ i ] n i=1 ∈ C n where λ i is the net number of times cycle l traverses edge e i .The dimension of the cycle space of D is the dimension of the subspace of C n spanned by the elements χ(l) for all cycles l of D.
Observe that if l = v l 1 (e l 1 )v l 2 . . .v l k (e l k )v l k+1 is a cycle in D, then there is a corresponding cycle L = v l 1 (e l 1 )v l 2 . . .v l k (e l k )v l k+1 in D.Moreover, the cycle vectors χ(l) ∈ C n and χ(L) ∈ C m are related by the (D, S)-vector assignment ϕ.In particular, we can represent the action of this vector assignment in matrix form.Define: Let A be any matrix with n columns.Observe that the j-th column of the product AT is the sum of all columns of A with index i, such that ϕ(e i ) = s j .For example, given any cycle L of D and its corresponding cycle l in D, one may verify that (using row vectors) χ(L) = χ(l)T.Moreover, this reduces finding the dimension of Z(D) to an exercise in linear algebra.Let Z(D) represent the cycle space of multi-digraph D, and let M be any matrix with n columns whose rows span Z(D) (for example, take the rows of M to be the cycle vectors of some set of fundamental cycles).Then dim(Z(D)) = Rank(M) and, more importantly, In particular, it follows that dim(Z(D)) ≤ dim(Z(D)).This inequality can be strict when nontrivial cycles in D are reduced to null cycles with respect to edge identification or distinct cycles in D become identified or dependent under ϕ.This will be better illustrated in an example below. If Then ϕ can be represented by matrix: (Note that D is simple, and we can notate cycles using only the order of vertices.)Given corresponding cycles {L 1 , L 2 , L 3 } of D, take:

Kirchhoff Graphs
For any vertex v i ∈ V (D), we can choose a cut in D of the form (v i , V (D) − {v i }).In the special case of such a cut, call the cut vector in C m the incidence vector of vertex v i , and denote it by λ(v i ).(As we associate each edge with a vector in F and each vertex with a vector in C m , the authors recognize the possibility that Kirchhoff graphs may be studied using sheaves on graphs [12].Such connections are not explored any further here.)For example, given D as in Figure 3, consider the cut

χ(L), λ(v)
C |E(D)| = 0 If D is an F-vector graph that is also Kirchhoff, we will sometimes call D an F-Kirchhoff graph.Example 4. Consider the two R 2 -vector graphs in Figure 4, C 1 and C 2 .We will demonstrate that one of these vector graphs is a Kirchhoff graph, while the other is not.It is easy to check that: Next, we demonstrate broad cases in which we are guaranteed that a vector graph is either a Kirchhoff graph or non-Kirchhoff.These results hold independent of the dimension or choice of vector space F.

Simple Vector Graphs
, for all i = j, there is at most one edge directed from v i to v j ).
In this section, we will present two general cases of simple vector graphs: one in which we are guaranteed that the vector graph is Kirchhoff and one in which we are guaranteed the graph is not Kirchhoff.
That is, with the exception of multiple edges between the same two vertices, every pair of edges in a general vector graph is distinct.Theorem 11.Any simple, general vector graph is a Kirchhoff graph.
Proof.Given that D has no multiple edges and vector graph D is general, every edge occurring in vector graph D is distinct.Therefore, |E(D)| = |S|, and ϕ is bijective: its matrix representation T is some n × n permutation matrix T = P.For any cycle L in D with corresponding cycle l in D, χ(L) = χ(l)P ∈ C n .Similarly, for every vertex v i of D with corresponding vertex v i in D, λ(v i ) = λ(v i )P ∈ C n .Therefore, for any vertex v i and cycle L in vector graph D, because permutation matrix P is unitary, Therefore, D is a Kirchhoff graph.The fact that λ(v i ), χ(l) = 0 follows from the orthogonality of the cut space and cycle space of simple digraphs.A proof of this standard graph-theoretic result can be found in [11].
Next, we present a general class of simple vector graphs, which are not Kirchhoff graphs.Let D 2 = (D,ϕ 2 ) be a simple vector graph (as before, take V (D 2 ) = {v 1 , . . ., v p } and E(D 2 ) = {s 1 , . . ., s m }) in which all edges are distinct except for one pair of identified edges.Without loss of generality, we may re-label the vectors in set S, so that exactly two edges of D 2 are identified as s 1 , and for all 2 ≤ i ≤ m, ϕ 2 assigns vector s i to exactly one edge of D 2 .Theorem 12. D 2 is a Kirchhoff graph if and only if the two edges identified as s 1 are either both bridges in D or form a directed (oriented) cycle, which is also a set of cut-edges in D.
Proof.As defined above, D 2 is a vector graph on p vertices and a total of m + 1 edges.We may re-label the edges of D so that, without loss of generality, ϕ 2 (e 1 ) = ϕ 2 (e m+1 ) = s 1 : in D 2 edges e 1 and e m+1 are the one pair of identified edges.Since D is a simple digraph, for any vertex v k and any cycle l of D, Considering vector graph D 2 , we can observe the effects of the pair of identified edges under ϕ 2 .For vertex Similarly, for any cycle Therefore, for any vertex v k and any cycle L of D 2 : Therefore, That is, First, assume that e 1 e m+1 is a directed cycle and set of cut edges in D.Then, every vertex of D is either incident with neither or both of e 1 and e m+1 .If v k is incident with neither, Moreover, as directed cycle e 1 e m+1 is a set of cut edges, any cycle l in D must traverse e 1 and e m+1 the same net number of times.In particular, χ(l) 1 = χ(l) m+1 .Therefore, for all v k and l, and D is a Kirchhoff graph.On the other hand, assume that both edges identified as s 1 , e 1 and e m+1 , are bridges in D.Then, given any cycle l in D, Thus, for any vertex v k and any cycle L in D 2 , by Equations ( 4) and ( 5): Conversely, assume that at least one of e 1 and e m+1 is not a bridge in D, and either e 1 e m+1 is not a directed cycle in D or is a directed cycle, but not a cut-set.Assume, without loss of generality, e 1 is not a bridge in D.Then, there exists some cycle l 0 in D, such that χ(l 0 ) 1 = 0. Case 1: e 1 e m+1 is not a directed cycle in D. As D was a simple digraph, e 1 and e m+1 cannot have the same initial and terminal vertices.Moreover, because e 1 e m+1 is not a directed cycle in D, there must exist a vertex v j that is incident to edge e m+1 , but not edge e 1 .In particular, λ(v j ) m+1 = 0 and λ(v j ) 1 = 0 Then, taking the corresponding vertex v j and cycle L 0 in D 2 , by Equation (4), Case 2. e 1 e m+1 is a directed cycle, but not a cut-set in D. Let v i and v j denote the end-vertices of e 1 and e m+1 , so that v i e 1 v j e m+1 v i is the directed cycle in D. In particular, As {e 1 , e m } is not a cut-set of D, there exists a v j − v i path P, which does not traverse e 1 or e m+1 .Now, consider the cycle: Then, in particular, χ(l P ) 1 = 1 and χ(l P ) m+1 = 0 Therefore, by Equation (4): Therefore, D 2 is not a Kirchhoff graph.This completes the proof of the theorem.
Theorems 11 and 12 illustrate that Kirchhoff graphs are a very special class of vector graphs.While a general simple vector graph is guaranteed to be Kirchhoff, if we change vector assignment ϕ slightly, and identify only one pair of identical edges, the Kirchhoff property is easily lost.

Kirchhoff Graphs and Matrices
Of particular interest in applications [1,2] is the discussion of Kirchhoff graphs in relation to integer-valued matrices.We define (this definition is identical in mathematical content, though presented in a different form, to that given in [2]) the following: Definition 13.For a matrix A ∈ Z p×m , a vector graph D is a Kirchhoff graph for A if and only if: In the case that (i)-(iv) are satisfied, we also say that D is a Kirchhoff graph generated by A.
Under this definition, if D is a Kirchhoff graph generated by A, D is also a Kirchhoff graph for any matrix B that is row-equivalent to A. One question we will begin to explore in this paper is: Question 1.Given a Kirchhoff graph D generated by matrix A, can we use vector graph D to construct a vector graph D that is a Kirchhoff graph generated by Null(A), that is, a Kirchhoff dual of D?
Answering this question as "yes" would be an important step towards proving the existence of a Kirchhoff graph generated by any (arbitrary) integer matrix, one of the primary open problems in the theory of Kirchhoff graphs [1,2].This would mean that given any integer matrix A, if one can construct a Kirchhoff graph for either A or Null(A), then there exists a Kirchhoff graph generated by A.
A natural place to begin exploring this idea of dual Kirchhoff graphs, and in particular dual R 2 -Kirchhoff graphs, is the well-developed theory of reciprocal figures of James Clerk Maxwell.Given a geometric graph satisfying certain properties, Maxwell's work provides a concrete and universal method of constructing a reciprocal diagram, where the vertex cuts and cycles in one diagram correspond exactly with the cycles and vertex cuts in the other.We will begin by presenting a re-description of Maxwell's original work in [9] using modern mathematical terms.Given these foundations, we will describe commonalities between Maxwell figures and Kirchhoff graphs.Cases in which Maxwell's theory is no longer applicable lead us to consider other methods of finding R 2 -Kirchhoff duals.

Maxwell Reciprocal Figures
James Clerk Maxwell introduced his idea of reciprocal figures in the mid 1860s [9].He describes a type of geometric reciprocity, which has applications to mechanical problems.A "frame" is a geometric system of points connected by straight lines.In order to study equilibrium within these frames, he suggests we think of the points as mutually acting on each other, with forces in the direction of the lines adjoining them.Each line is thus endowed with one of two types of forces: if the force acting between its endpoints draws the points closer together, we call the force a tension, and if the force tends to separate the points, we call the force a pressure.Maxwell outlines a method for drawing a diagram of force corresponding to this frame, where every line of the force diagram represents, in magnitude and direction, the force acting on a line in the frame.Thus, the frame and its forces are presented in two separate diagrams, henceforth referred to as the frame diagram and the force diagram.In representing the forces in a separate diagram, Maxwell recognizes the loss of some interpretability: it is not immediately clear which forces act on which points in the frame.On the other hand, this method reduces finding the equilibrium of forces to examining whether the force diagram has closed polygons.
We draw a force diagram, such that each line in the force diagram is parallel to the line on which it acts in the frame.The lengths of these lines are proportional to the forces acting on the frame.For a frame that is in equilibrium, when any number of lines meet at a point in the frame, the corresponding lines in the force diagram form a closed polygon.In certain cases, Maxwell observes, for any lines that meet in the force diagram, the corresponding lines in the frame form a closed polygon.This is the type of geometric reciprocity Maxwell desires: two figures are considered "'reciprocal" if either diagram can be taken as a frame diagram, and the other represents the system of forces that keeps that frame in equilibrium.More precisely, in [9], he gives: Definition 16.Two plane rectilinear figures are reciprocal when they consist of an equal number of straight lines, so that the corresponding lines that meet in a point in the one figure form a closed polygon in the other.
The two diagrams in Figure 5 are the original example of reciprocal figures as presented by Maxwell [9].Note that the same letters are used to label corresponding (parallel) lines in the frame diagram and the force diagram.Given that the frame is in equilibrium, we may draw the force diagram as outlined below.For convenience, refer to points of the frame by the labels of the lines incident to it.For example, the center point in the frame diagram is PQR.
(1) Begin by drawing line p in the force diagram, parallel to line P in the frame.Choose a length for this line that represents the magnitude of the force acting along P.Although the length of this first edge is an arbitrary choice, once the length of line p has been fixed, the lengths of all other lines in the force diagram are determined.
(2) The forces acting along lines P, Q and R in the frame are in equilibrium.Therefore, in the force diagram, draw from one endpoint of p a line parallel to Q and from the other endpoint of p a line parallel to R. Thus, form a (closed) triangle pqr in the force diagram, representing the equilibrium of forces acting on point PQR.Steps (1) and ( 2) are illustrated in Figure 6.Note that once we fixed the length of edge p, the lengths of q and r are therefore predetermined and represent the magnitude of the forces acting on Q and R.
) (3) The other end of line P in the frame diagram meets lines B and C at a point.As the forces at point PBC are in equilibrium, draw a triangle in the force diagram with p as one side and lines parallel to B and C as the others.This can be done in one of two ways, illustrated in Figure 7.  Remark 5. We can use an alternate notation to label the frame and force diagrams, known as Bow's notation or interval notation.In this method, we label regions of the frame diagram and the corresponding vertices in the force diagram with the same label.A full description of this method can be found in [10].
Maxwell's reciprocal figures are, in fact, geometric graphs that are dual to one another.Therefore of particular interest to us is Maxwell's description of diagrams, which have reciprocal figures: namely, plane projections of (closed) polyhedra.Consider a closed polyhedron P as the region bounded by some (finite) number of intersecting planes, {M i }.
(1) Let N 1 , . . ., N n be the normal vectors to planes M 1 , . . .M n .Choose a plane of projection, M, that satisfies: (a) M does not intersect the closed polyhedron P.
(b) For all 1 ≤ i ≤ n, a line through normal vector N i of plane M i intersects plane M. The standard plane projection of polyhedron P onto plane M gives one of the two figures.Now, construct a second polyhedron P , which, with respect to some paraboloid of revolution, is a geometric reciprocal to the first polyhedron.The projection of P onto plane of projection M is then a reciprocal figure of the projection of P onto M.These two figures are reciprocal in the sense that corresponding lines are perpendicular to each other.One may obtain reciprocal figures with parallel orientation simply by rotating one figure by 90 degrees in the plane.Construct P as follows: (2) Let z 0 be a fixed-point in three-space that does not lie in M, which we will call the origin.The line perpendicular to plane of projection M that passes through point z 0 will be called the axis, denoted by z.Lastly, let z M be the point of intersection of line z with plane M.
(3) For each 1 ≤ k ≤ n, draw a line that is normal to plane face M k of P and passes through point z 0 .This line will intersect (projection) plane M at a unique point, call it m k .Each point m k may be thought of as the "projection" of face M k onto plane M.
(4) For each 1 ≤ k ≤ n, let z k be the point of intersection of axis z with face M k .This intersection always exists, since we chose M which is not parallel to any of the normal vectors N k (and z is a normal vector of M).Let d k be the (three-space) vector z M z k .That is, d k is the vector between the intersection points of z with M and M k .Ultimately, let: We will call this point in space p k the "point corresponding to face M k of the polyhedron P".
Steps 2-4 of finding a point p k corresponding to a particular face M k are illustrated in Figure 9.In this way, we determine n points p 1 , • • • , p n corresponding to the faces M 1 , • • • M n of P.These points form the vertices of polyhedron P .
(5) For any two faces M i and M j that meet in an edge in polyhedron P, draw a line between the corresponding points p i and p j .These new lines give us the edges of polyhedron P .
If we let M i M j denote the edge at the intersection of planes M i and M j and p i p j denote the line joining the corresponding points, one may easily check geometrically that the projection of line M i M j onto M is perpendicular to the projection of line p i p j onto M. In this way, the projection of P onto M produces a figure, every line of which is perpendicular to the projection of the corresponding line of P onto M. What is more, for any lines that meet at a point in one projection, the corresponding lines form a closed polygon in the other projection.That is, the projection onto M of P and P forms a pair of reciprocal figures in the sense of Maxwell.

Maxwell Reciprocal Figures and Kirchhoff Graphs
Through his theory of reciprocal figures, Maxwell deals with a pair of geometric graphs in which the vertex-cuts of one graph correspond to the cycles in the other, and vice versa.In this section, we discuss the relationship between Maxwell's figures, R 2 -Kirchhoff graphs and, particularly, R 2 -Kirchhoff duals.To make a connection between these Maxwell figures and Kirchhoff graphs, we define an R 2 vector graph corresponding to a given Maxwell diagram.First, we define a pair of embedded digraphs corresponding to Maxwell figures and then derive vector graphs accordingly.
Label the edges of the frame diagram as e j and the corresponding (parallel) edges of the force diagram as f j .We will adopt notation that indexes both vertices and cycles by these edge labels.Let {e i , e j , e k } denote the vertex incident to edges e i , e j and e k , and use standard cycle notation for simple graphs, f i f j f k .Observe that if f i f j f k is a cycle in the force diagram, there is a vertex of the form {e i , e j , e k } in the frame diagram, and vice versa.By arbitrarily assigning directions to each edge in the frame diagram, construct a corresponding plane-embedded digraph, H.We can then construct a plane-embedded digraph corresponding to the force diagram, H , by carefully assigning directions to each edge f i .In particular, assign directions, such that for each cycle f i f j f k . . . in the force diagram, χ( f i f j f k . . . ) = λ({e i , e j , e k , . . .}) (6) Finally, derive a pair of vector graphs, D and D , from H and H by identifying pairs of geometric edges with the same length and direction (i.e., the same two-space vector).Re-label all edges (with labels {s i } in D and {t i } in D ) to reflect this edge-identification.One may verify that the result is two R 2 -vector graphs derived from the original pair of Maxwell figures.
Definition 17.Let D and D be the pair of R 2 -vector graphs defined above.We say that D and D are a pair of corresponding R 2 -vector graphs to the Maxwell figures.Note that we say "a pair", as there are many such sets of corresponding vector graphs, depending on the arbitrary assignment of directions to edges in the frame diagram.
Example 5. Figure 10 displays the Maxwell reciprocal figures as in Figure 5, now re-labeled as described above.Figure 11 illustrates one pair of R 2 -vector graphs corresponding to these Maxwell reciprocals.In this example, the re-labeling of vector edges seems to be trivial.An example in which this process is nontrivial appears at the end of this section.Taking: It is easy to verify that D is a Kirchhoff graph generated by A. Moreover, Null(A) is the column span of B T , and most importantly, D is a Kirchhoff graph generated by B. Beginning with Maxwell reciprocal diagrams, we have arbitrarily assigned directions to one diagram, then consistently assigned directions to the other diagram.The result is two R 2 -vector graphs that are both Kirchhoff and indeed are each others' Kirchhoff dual.
The observation above is actually one example of more general results.Let G be a geometric (simple) graph, which has a reciprocal figure in the sense of Maxwell.
Lemma 18.If no pair of edges of G is parallel in the plane, then any vector graph corresponding to G is a Kirchhoff graph.
Proof.Let D be any vector graph derived by assigning directions to each edge in G, and let θ(s i ) be the angle vector s i makes with the positive x-axis.Then, because no edges of G were parallel in the plane, every pair of vectors s i , s j for D satisfies θ(s i ) = θ(s j ).That is, each edge e i is assigned a distinct two-space vector, and D is a general vector graph.Therefore as D is also simple, D is Kirchhoff by Theorem 11.Proof.Since G has no parallel edges in the plane, its Maxwell reciprocal G also has no pair of parallel edges.Therefore, both D and D are Kirchhoff graphs by Lemma 18.Both D and D are general vector graphs; therefore, in Step (4) above, we use the following simple re-labeling: e i → s i and f i → t i for all i For any matrix A, such that D is generated by A, the fact that D is generated by Null(A) follows from Equation (6).Remark 6. Lemma 18 and Theorem 19 above demonstrate that any Maxwell frame diagram without parallel edges leads to a number of pairs of dual R 2 -Kirchhoff graphs.This means that most Maxwell diagrams will lead directly to pairs of Kirchhoff duals: given a randomly-chosen closed polyhedron, a randomly-chosen plane projection will lead to a frame diagram with no parallel edges.
Though Remark 6 demonstrates that there is significant overlap between Maxwell reciprocals and simple R 2 -Kirchhoff duals, arguably, the cases that make vector graphs interesting are those in which vector edges are identified.The connection between Maxwell figures and R 2 -Kirchhoff graphs becomes considerably more delicate when considering geometric graphs with parallel edges.The care with which the polyhedron and projection must be constructed in the following example, however, demonstrates that, in some sense, these situations arise as particular special cases of general Maxwell diagrams.Example 6.In this example, we explicitly construct a graph G with the following properties: (1) When considered as a geometric graph, G has a Maxwell reciprocal, G .
(2) There exists an R 2 -vector graph G corresponding to G that is not Kirchhoff.
(3) Any R 2 -vector graph G corresponding to G is Kirchhoff.
Consider the following system of five planes in R 3 : The three-dimensional region bounded by these five planes forms a closed, bounded polyhedron in R 3 , as illustrated in Figure 12.
(0,0,0) (0,0,0) (0,0,0) (0,0,0) (0,0,0) (0,4,0) (0,4,0) (0,4,0) Remark 7.This was a very specifically-chosen embedding of this polyhedron, which forces the projection of two edges to be parallel with the same length in the plane.As these two edges were not parallel in three-space, a randomly-chosen plane projection of this polyhedron would, in general, result in a geometric graph having no pair of parallel edges.The vector graph G shown in Figure 15 is one corresponding vector graph for the frame diagram G in Figure 14.Every edge in vector graph G has multiplicity one, and each vector edge occurs exactly once, except for edge s 1 , which occurs exactly twice.Given that both occurrences of s 1 are not bridges (nor a directed cycle), it follows from Theorem 12 that G is not a Kirchhoff graph.On the other hand, consider the force diagram G .It is clear that given any vector graph G corresponding to G , every pair of vector edges t i , t j satisfies either |t i | = |t j | or θ(t i ) = θ(t j ).That is, each edge is assigned a distinct vector in R 2 .Therefore, every R 2 -vector graph corresponding to G is general and, thus, Kirchhoff by Theorem 11.Remark 8.This example illustrates a few important differences.First, not every 2 -vector graph corresponding to a Maxwell figure is a Kirchhoff graph.Second, it is possible that a pair of Maxwell reciprocals generates a pair of corresponding R 2 -vector graphs, one of which is Kirchhoff, while the other is not.These discrepancies arise because the corresponding vector graphs may have differing numbers of distinct vector edges.When constructing Maxwell's reciprocal figures, we are guaranteed that every pair of corresponding edges is parallel to each other.The length of each edge in the reciprocal figure is prescribed in Maxwell's construction.However, if two parallel edges in the frame diagram have the same length, the corresponding edges in the force diagram are parallel, but need not have the same length.For example, in Figure 14, edges e 5 and e 7 are parallel and have the same length.In the reciprocal diagram, as guaranteed by Maxwell, edges f 5 and f 7 are parallel.However, f 5 and f 7 have different lengths.This is not to suggest that the only Maxwell figures that correspond to dual Kirchhoff graphs are those with no parallel edges.Symmetry in the frame diagram can lead to symmetry in the force diagram, which results in a number of identified edges in the corresponding vector graphs.One may verify that these two R 2 -vector graphs are both Kirchhoff graphs, generated by matrices A and B, respectively, where:

Student Version of MATLAB
Moreover, Null(A) = colspan(B T ); these Kirchhoff graphs are, in fact, a pair of Kirchhoff duals.
6. Non-Simple, Non-General and Non-Planar R 2 -Vector Graphs Remark 6 and Example 7 illustrate that in many cases, Maxwell reciprocal figures can lead to pairs of R 2 -Kirchhoff duals.Example 6, however, demonstrates that these two theories do not always agree: R 2 vector graphs corresponding to a Maxwell figure are not necessarily Kirchhoff when edges are identified as vectors.Even if the vector graph corresponding to a Maxwell figure is Kirchhoff, the vector graph corresponding to the Maxwell reciprocal need not be Kirchhoff.Moreover, there are a number of classes of vector graphs that will never correspond to a Maxwell figure; for instance, vector graphs with multiple edges and vector graphs that are not the projection of a polyhedron.This leads us to begin exploring other methods of constructing dual vector graphs, in particular, dual R 2 -vector graphs.

Planar R 2 -Kirchhoff Graphs
Before considering non-simple Kirchhoff graphs, we first illustrate an alternative method of constructing the pair of R 2 -Kirchhoff duals given in Figure 17, based on planarity.Rather than Maxwell reciprocals, we consider very specific embeddings of digraphs, which are dual in the standard sense.
Example 8. Begin with the first vector graph in Figure 17, D. Next, construct a dual R 2 -vector graph, D , for D, as follows.First, view D as a standard (planar) directed graph, and form the standard dual graph (we will use the convention of assigning directions to edges in D by traversing cycles in D in a clockwise orientation).For each edge labeled s i in D, we draw a corresponding edge in D , which we label as t i .This process is illustrated in Figure 18, and leads to the following: Question 2. Can we position/embed the vertices of D in R 2 , such that for each j, all copies of every edge with label t j are identical vectors in R 2 ?
We see that in the case of vector graph D, the answer to this question is "yes".In particular, we can arrange vector graph D as shown in Figures 19.Observe that this is precisely the R 2 -vector graph D corresponding to Maxwell reciprocal G in Example 7. Therefore, in the example above, much like the standard case of plane-embedded digraphs, one can interchange the roles of faces and vertices to find Kirchhoff duals.Moreover, this method can address Kirchhoff graphs with multiple edges: multiple vector edges are replaced by consecutive (identical) vector edges in the dual R 2 -vector graph, and vice versa.
Remark 9.This relation between vector edges corresponds to the desired result in reference to matrices.Non-unit entries in an incidence vector indicate multiple edges, whereas non-unit entries in a cycle vector indicate consecutive edges.Therefore, replacement of multiple edges by consecutive edges (and vice versa) causes the cut space and cycle space to interchange roles.The first R 2 -vector graph in Figure 20 is a Kirchhoff graph D generated by A. We also re-draw this vector graph in order to better illustrate the method of addressing multiple edges.As before, construct a dual directed graph and arrange the vertices to give a dual R 2 vector graph, shown in Figure 21.Observe that multiple edges in the R 2 -vector graph result in consecutive edges in the dual R 2 -vector graph, and vice versa.One can easily verify that this is an R 2 -Kirchhoff graph generated by Null(A).One advantage of using dual methods is graph construction.In some cases, given a matrix A, it may be relatively straightforward to construct an R 2 -Kirchhoff graph for Null(A).Using a dual vector graph method may then lead to an R 2 -Kirchhoff graph for A without constructing one directly.In the example above it may not be intuitively clear how to construct an R 2 -Kirchhoff graph for the matrix [1, −1, 2].On the other hand, it is a fairly easy task to construct an R 2 -Kirchhoff graph with cycle space spanned by [1, −1, 2], and an R 2 -Kirchhoff graph for [1, −1, 2] was then obtained via a Kirchhoff dual.

Non-Planar R 2 -Kirchhoff Graphs
The planar R 2 -Kirchhoff graphs given above are not representative of all R 2 -Kirchhoff graphs, which need neither be planar nor have a geometric dual.One advantage of Definition 15 is the opportunity to construct dual R 2 -Kirchhoff graphs in cases where no dual graph exists under standard notions.In the following example, we consider H = (K 3,3 , ϕ), an R 2 -vector graph representation of K 3,3 , and present a Kirchhoff dual, H .This Kirchhoff dual leads to a few interesting observations: H is an embedding of a digraph, which has a geometric dual, and embedding this geometric dual to create an R 2 -vector graph H results in a Kirchhoff graph that is, nearly, the original H. Example 10.Consider the vector graphs H shown in Figure 22, and H in Figure 23.
Therefore, although H does not have a dual graph under any standard notions, when taken as an R 2 -vector graph, it has a dual in the Kirchhoff sense.Moreover, this Kirchhoff dual H arises as a plane projection of a polyhedron in R 3 , meaning H has a geometric dual.This polyhedron and its geometric dual are illustrated in Figure 24 (for each edge labeled t j in H , we label the corresponding edge as s j in the geometric dual) In order to construct this geometric dual as an R 2 -vector graph, H , we must embed the vertices in the plane so that all vector edges with label s i are identical.This can be accomplished by, for each 1 ≤ j ≤ 6, mapping the pair of vertices v j and v j+6 to the same point in the plane.This embedding is illustrated in Figure 25.This R 2 -vector graph is vector graph H, with every edge doubled.As a result, H is both an R 2 -Kirchhoff graph generated by A and a Kirchhoff dual for H .By following essentially the reverse process as that outlined in Example 10, we can illustrate how to directly construct an R 2 -Kirchhoff dual for K 5 , the complete graph on five vertices, which is also non-planar.
Example 11.Consider the R 2 -vector graph in Figure 26, K = (K 5 , ϕ), which is a vector graph constructed from an R 2 -vector assignment of K 5 : As an R 2 -vector graph, K is both simple and general.Therefore, K is Kirchhoff and generated by matrix A, given below.Moreover, Null(A) is the column span of B T where: Our goal is to construct an R 2 -Kirchhoff graph generated by B. Rather than attempting to do so directly from the matrix, we can utilize any R 2 -Kirchhoff graph generated by A. Clearly, R 2 -vector graph K , shown in Figure 27, is vector graph K with each vector edge doubled.Therefore, K is also a Kirchhoff graph for A, and any R 2 -Kirchhoff dual for K is also a Kirchhoff dual for K.We will demonstrate that we can use R 2 -vector graph K to construct a Kirchhoff dual, K .Clearly, K results from a plane embedding of a digraph with 20 edges.For a moment, however, suppose that this digraph had more than five vertices; some of these vertices were then embedded at the same point when forming R 2 -vector graph K .In particular, consider digraph D as in Figure 28, on 10 vertices and 20 edges.An embedding of D, which, for each 1 ≤ j ≤ 5, maps the pair of vertices v j and v j+5 to the same point in the plane will produce R 2 -vector graph K .We alternately render digraph D in Figure 29, labeling edges to indicate which become identical vectors under this embedding.This digraph D is clearly planar, so we may construct its standard dual, D .For each edge labeled s j in D, we label the corresponding edge as t j in D .Given dual picture D , shown in Figure 30, we have returned to Question 2: can we embed the vertices of D in R 2 , such that all directed edges with label t j are identical vectors?One such embedding of D is illustrated in Figure 31, forming an R 2 -vector graph K .More importantly, one may verify that this vector graph K is a Kirchhoff graph generated by B. That is, K is a Kirchhoff dual of K = (K 5 , ϕ), and we have constructed K directly from one of its R 2 -Kirchhoff duals, K .

Conclusions
In this paper, we have described a new type of graph, a vector graph, allowing us to define the notion of Kirchhoff graphs without any reference to matrices.In particular, any simple general vector graph is guaranteed to be Kirchhoff, whereas any simple vector graph having exactly one pair of identified edges is not Kirchhoff unless both such edges are bridges, or form a directed cycle, which is a cut set.Similar to R 2 -Kirchhoff graphs, Maxwell's reciprocal figures also address cycles and vertex cuts in graphs having edges with a specified length and direction.Given any Maxwell diagram with no parallel edges, we showed that any pair of R 2 -vector graphs corresponding to this diagram and its reciprocal are a pair of Kirchhoff duals.As a result, most Maxwell figures correspond to many pairs of dual R 2 -Kirchhoff graphs.Given R 2 -Kirchhoff graphs with identified edges, more careful treatment is required to construct Kirchhoff duals directly.Using R 2 -vector graph representations of K 5 and K 3,3 , which have no dual under standard notions, we illustrated R 2 -vector graphs, which are dual to K 5 and K 3,3 in the Kirchhoff sense.
Moving forward, there are many unresolved questions in the study of Kirchhoff graphs.As mentioned above, the overarching open problem is the existence and construction of a Kirchhoff graph generated by any integer-valued matrix.The following is a (by no means exhaustive) set of open problems surrounding Kirchhoff graphs, which could lead to an existence proof.Problem 2. Though a standard multi-digraph is uniquely determined by its incidence matrix, a Kirchhoff graph is generated by many matrices, and a matrix can generate many Kirchhoff graphs.Define a matrix-like structure that both uniquely identifies a Kirchhoff graph and reflects which class of matrices generate this graph.Problem 3. A unique facet of vector graphs is the existence of vertices that are incident to some edge, but are null with respect to that vector edge (for example, if vertex v is the initial vertex of some edge e i and the terminal vertex of edge e j where ϕ(e i ) = ϕ(e j )).Determine the properties of matrix A that require that any Kirchhoff graph generated by A have such null vertices.Problem 4. Classify the integer matrices that generate a Kirchhoff graph that is simple.Problem 5. Determine a canonical or minimal form of Kirchhoff graph that is uniquely determined by its generating matrices.

L 2 )
• • • (±e L k ) in D, then ±ϕ(e L 1 ) ± ϕ(e L 2 ) ± • • • ± ϕ(e L k ) = 0 in F.Definition 2. A vector graph D = (D,ϕ) consists of a multi-digraph D, together with a (D, S)-vector assignment ϕ that is consistent.A vector graph has a natural set of vertices V (D) = {v 1 , . . ., v p } and edges {e 1 , . . ., e n } (where v i ∈ V (D) → v i ∈ V (D); e i in D → e i in D).Two edges e i , e j of D are identified if ϕ(e i ) = ϕ(e j ); otherwise, they are distinct.E(D) is now used to denote the set of distinct edges in D, meaning |E(D)| = |S| (ϕ is surjective).

Figure 2 .
Figure 2. Two vector graphs generated by different vector assignments on the same multi-digraph.

Definition 3 .
D)| = |V (D)| = p, |E(D)| = n and |S| = |E(D)| = m.The edge space of vector graph D, denoted by C e (D), is the complex vector space of all functions from E(D) into C; that is, from the set of distinct edges of D into C.For any subset S 1 = {s (1,1) , . . ., s (1,k) } of distinct edges in E(D) and any G ∈ C e (D), take G(S 1 ) = ∑ k i=1 G(s (1,i) ).

Definition 5 .
Let Z(D) denote the subspace of C e (D) spanned by the elements z L for all cycles L in D. Z(D) is the cycle space of D.

Definition 7 .
Let U(D) denote the subspace of C e (D) spanned by the elements u P for all cuts P of D. U(D) is the cut space of D.

Remark 4 .
Though this vector graph does not contain a cut P in D satisfying Λ(P) = [0, 0, 0, 0], examples of such cuts (in the form of null vertices) will be shown in later examples; for instance, the center vertex of vector graph C 1 in Figure 4 has cut vector [0, 0, 0, 0].Observe that these bases were determined by choosing the spanning tree T of D where V (T ) = V (D) and E(T ) = {e 1 , e 4 , e 5 }.

Definition 14 .
Let A ∈ Z p×m be an integer matrix, and suppose Null(A) is the column span of B T for B ∈ Z k×m .A vector graph D is a Kirchhoff graph generated by Null (A) if D is a Kirchhoff graph generated by matrix B. Definition 15.Two Kirchhoff graphs D and D are dual Kirchhoff graphs if there exists some matrix A, such that D is a Kirchhoff graph generated by A, and D is a Kirchhoff graph generated by Null(A).We say each vector graph is a Kirchhoff dual of the other.

Figure 5 .
Figure 5. Maxwell's reciprocal figures as presented in [9].Corresponding parallel edges are labeled with the same letter; capitalized in the frame diagram and lower-case in the force diagram.

Figure 9 .
Figure 9. Finding a point p k corresponding to a particular face M k .

Figure 11 .
Figure 11.A pair of corresponding R 2 -vector graphs.
Now, let G and G be a pair of Maxwell reciprocal figures and D and D be any pair of R 2 -vector graphs corresponding to G and G .Theorem 19.If G has no parallel edges in the plane, both D and D are Kirchhoff graphs.Moreover, for any matrix A, such that D is a Kirchhoff graph generated by A, D is generated by Null(A): D and D are Kirchhoff duals.

Figure 13 .
Figure 13.Projection on the xy-plane of the Polyhedron in Figure 12.

Figure 15 .
Figure 15.G, a corresponding R 2 -vector graph for G.

Example 7 .
Consider the pair of Maxwell reciprocal figures in Figure16and pair of corresponding R 2 -vector graphs in Figure17.

Figure 16 .
Figure 16.A pair of Maxwell reciprocal figures.

Figure 17 .
Figure 17.A pair of corresponding vector graphs.

Figure 20 .
Figure 20.Kirchhoff graph D generated by matrix A.

Figure 24 .
Figure 24.The polyhedron of H and its geometric dual.

Problem 1 .
Given any A ∈ Z m×n , determine constants α A , β A ∈ Z, such that there always exists a Kirchhoff graph D generated by A satisfying α A ≤ |V (D)| ≤ β A .Determining bounds on the number of vertices required for a Kirchhoff graph generated by A can lead to algorithmic approaches of Kirchhoff graph construction.

m. We call {E 1 . . . E m } the standard basis of C e (
D) and introduce the inner product under which this basis is orthonormal.If G

1 = ∑ m i=1 β i E i and G 2 = ∑ m i=1 b i E i in C e (D), then define G 1 , G 2 C e (D) := ∑ m i=1 β i b i
. We can represent each G ∈ C e (D) as a vector in C m .In particular, given