What Kirchhoff Actually did Concerning Spanning Trees in Electrical Networks and its Relationship to Modern Graph-Theoretical Work

What Kirchhoff actually did concerning spanning trees in the course of his classic paper in the 1847 Annalen der Physik und Chemie has, to some extent, long been shrouded in myth in the literature of Graph Theory and Mathematical Chemistry. In this review, Kirchhoff’s manipulation of the equations that arise from application of his two celebrated Laws of electrical circuits — formulated in the middle of the 19th century — is related to 20thand 21st-century work on the enumeration of spanning trees. It is shown that matrices encountered in an analysis of what Kirchhoff really did include (a) the Kirchhoff (Laplacian, Admittance) matrix, K, that features in the well-known Matrix Tree Theorem, (b) the matrix G encountered in the theorem of Gutman, Mallion & Essam (1983), applicable only to planar graphs, and (c) the analogous matrix M that arises in the Cycle Theorem (Kirby et al. 2004), a theorem that applies to graphs of any genus. It is concluded that Kirchhoff himself was not interested in counting spanning trees, and, accordingly, he did not explicitly do so. Nevertheless, it is shown how the modulus of the determinant of a certain matrix (here denoted by the label C') — associated with the linear equations arising from application of Kirchhoff’s two Laws — is numerically equal to the number of spanning trees in the graph representing the connectivity of the electrical network being studied. Kirchhoff did, however, invoke the concept of spanning trees, introducing them in a complementary fashion by referring to the chords that must be removed from the original graph in order to form such trees. It is further emphasised that, in choosing the cycles in the network being studied, around which to apply his circuit Law, Kirchhoff explicitly selected what would now be called a ‘Fundamental System of Cycles’.


INTRODUCTION
N 1845, Gustav Robert Kirchhoff (1824-1887), a 21-yearold undergraduate describing himself as a member of the physikalischen Seminars at the Albertina University of Königsberg in East Prussia (now the Russian city of Kaliningrad [1,2] ), wrote an 18-page exposition on the theory of electrical networks and published it, styling himself 'Studiosus Kirchhoff', in the Annalen der Physik und Chemie [3] (also then known, because of its editor, as 'Poggendorff's Annalen').Almost at the very end of this somewhat lengthy (and by no means easily comprehen-sible) paper [3] (on pp.513 and 514 of it), Kirchhoff quite suddenly enunciated his celebrated two Laws governing the currents and the electromotive forces in a classical electrical network -Laws which have long-since passed into the literature and into the folklore of pre-university Physics, featuring, as they invariably do, in elementary textbooks (e.g., Refs.[4-8]), and being firmly established, for more than a century, as a part of our common scientific heritage that is '... well-known by every schoolboy'.Over the last eighty years, these Laws have been applied in a variety of ways outside the realms of macroscopic electrical networks: for example, at the microscopic level, to ring I currents in conjugated systems (e.g., Refs.[9-12]) and, more recently, they have even been invoked in the contexts of metabolic networks (e.g., Ref. [13]) and of applying the principle of maximum entropy production (e.g., Ref. [14]).
These Laws, which refer to any general electrical network, no matter how complicated, across which a potential difference is maintained, may be expressed as follows: I. Around any closed cycle ('geschlossene Figur') [3,15] in the network the algebraical sum of the potential differences is zero, irrespective of whether these potential differences arise from the fall of potential caused by current flowing across a resistance situated in the cycle or from an electromotive force acting around the cycle.
The qualification 'algebraical' here denotes that if the current in a particular arm (wire) that forms part of the cycle is assumed to be flowing in the opposite sense to that in which the cycle is being traversed then the contribution of '(current × resistance)' from that arm is to be counted negatively in the total sum of such contributions.Likewise, the contribution of any electromotive force encountered within the cycle may also be positive or negative (as appropriate), according to how its terminals are connected ('in series') within that cycle.In a slight modification of Kirchhoff's notation, [15] if the cycle in question is traversed by passing through p arms of the network that are labelled k1, k2,... , kp, and if the intensities of the currents in these individual arms are denoted by w w w , and the (q) electromotive forces in series around the cycle are called E1, E2,... , Eq, then Kirchhoff's First Law may be stated (without use of the 'sigma' notation -likewise eschewed by Kirchhoff [3] ): II. Currents at any junction ('Punkte') [3,15] of wires are conservedi.e., the total current entering a given junction is equal to the total current leaving it.
(A similar convention as to the signs of the currents applies as in Law I -currents passing into a junction having one sign, and those passing out of it, another.)If (s) wires that are labelled λ1, λ2,... , λs and that bear currents  (It may be noted that, in Ref. [3], the labellings of the two Laws as 'I' and 'II' are reversed; in fact, nowadays, the Laws usually are labelled (e.g., Refs.[4-8]) as in Ref. [3]; however, in his subsequent memoir [15] -which is the foundation on which the present review is based -Kirchhoff himself interchanged this order and labelled his two Laws as was done above.Accordingly, in this account, and thus contrary to modern usage, we follow Kirchhoff's second labelling. [15]) It was two years later, in 1847, that Kirchhoff followed up with this second paper [15] in the same journalthis time under his professional 'adult' name, G. Kirchhoff -and this second work made seminal contributions to the two ostensibly disparate fields of (i) fundamental systems of cycles and spanning trees in graphs, and (ii) the sufficiency conditions for the independence of a set of linear equations.Unlike his 1845 paper [3] which, as noted, is seldom now cited and has just become part of the elementary literature -e.g., Refs.[4-8] -Kirchhoff's second pioneering publication on electrical networks [15] is still widely regarded as a primary source and it is still frequently referred to directly in the research literature.
However, despite the evident and continued interest in this paper, [15] and the long availability of a complete [16] and of a partial [17] English translation of it, what Kirchhoff actually said and did in his 1847 memoir [15] concerning spanning trees has itself become something of a longstanding myth in this field.[27] This dilemma is discussed in further detail, later, and its resolution will be the main aim of this paper.
In order to address some of these matters, we present -in a simple and straightforward way that should be accessible to those without detailed knowledge of Graph Theory -an assessment of what Kirchhoff actually did establish as far as the enumeration of spanning trees is concerned, and of how his 1847 work [15] relates to subsequent and, in some cases, very recent developments in this area.In a subject as old as this one there have naturally been many considerations of it before -starting with the intuitive but systematic and highly illuminating appraisal by Ahrens, [28] exactly fifty years after Kirchhoff (which motivated the present account) and progressing, almost immediately after that, to the formal structures of Poincaré [29] and Veblen. [30]We emphasise, therefore, that, in the present work, there is certainly no intention on our part to attempt to supplant previous thorough and comprehensive treatments -such as, for example, the formal accounts of Bryant, [31,32] Slepian, [33] Chen [34] and Bondy & Murty [35] nor the extensive coverage in the electrical engineering literature, such as Refs.[36-42].Rather, our emphasis here will be on giving a simple, easily comprehensible, exposition of the essence of the matter -illustrated, for convenience, by extended consideration of just one specific DOI: 10.5562/cca2995 Croat.Chem.Acta 2016, 89 (4)   example -and on connecting Kirchhoff's work with late 20 th -century extensions that enable the spanning trees of a planar graph to be counted by considering its inner dual, [21,[43][44][45][46] as well as with 21 st -century developments concerning spanning-tree counts in graphs that may, in general, be non-planar. [47,48]Our analysis will largely be discursive and be focussed on the extended worked example, just referred to; formal proofs will be provided but they will be relegated to the Appendix.As a preparation for this, we first review (in the next section) three results that are relevant to our subsequent discussion: the celebrated Matrix Tree Theorem [11,18,[22][23][24][25][26][27]49,50] (proved [27] inductively, for example, by Brooks et al. [50] in 1940) and some more recent and, consequently, less wellknown theorems for counting spanning trees, due to Gutman, Mallion & Essam [21] (1983) (for planar graphs) and Kirby, Klein, Mallion, Pollak & Sachs [47,48] (2004) (for graphs of any genus). (For aexample of the very latest work on spanning trees and their relations to graph eigenvalues, please see Refs. [51,52] and the articles cited in them.)

ILLUSTRATION OF THE MATRIX TREE THEOREM (MTT), THE THEOREM OF GUTMAN ET AL. (GME), AND THE CYCLE THEOREM (CT), BY MEANS OF A WORKED EXAMPLE
The Matrix Tree Theorem (MTT) Let D be the (v × v) degree matrix [27,53,54] of some labelled graph G (with v vertices and e edges), and let A be the (v × v) vertex-adjacency matrix of G, so labelled. [25,26,53,54]Then the equi-cofactorial singular matrix K = (D -A) has been called the Kirchhoff Matrix [11,25,26,[55][56][57] (and it is sometimes also known as the Laplacian Matrix [58,59] and, by still other authors, [27,60,61] as the Admittance Matrix) of G.We then have The Matrix Tree Theorem: Any cofactor of K is equal to the number of spanning trees of G.
Example: A labelled graph, G, and its Kirchhoff matrix, K, are shown in Figure 1.Any cofactor of the matrix K will be found to have the value 60 which is, therefore -by virtue of this Matrix Tree Theorem -the number of spanning trees in (i.e., what is sometimes called the complexity [57] of) the network shown in Figure 1.
It may be observed that, in this particular case, the graph in question is small enough for this result to be verified directly by systematically considering all possibilities, as follows.Because the circuit rank of the graph is three, three edges have to be removed to form a spanning tree; we exhaustively consider six cases, according to whether or not the edges shared by neighbouring faces ('rings') - (3,8), (4,7) and (6,7) -are deleted in the process of spanning-tree formation: (i) If edges (3,8), (4,7) and (6,7) are not removed, there are (2 × 2 × 3) = 12 ways of forming a spanning tree.
Summing the number of ways listed in (i)-(vi), above, gives the total number of spanning trees as 60, as predicted by the Matrix Tree Theorem.
It may be noted in passing that precisely three of the ten edges may be removed from this graph, without any restrictions, in 10 C3= 120 ways.We have already seen that 60 of these ways give rise to a spanning tree.Accordingly, A labelled planar graph with 8 vertices and 10 edges, and its Kirchhoff matrix, K.
the spanning-tree density of this graph -as defined by one of us (RBM) and Trinajstić, [62] -is 60 ÷ 120 = 0.5.Historical Note: The precedence of the Matrix Tree Theorem (MTT) is in question not just on account of Kirchhoff's work. [15]It should first be noted that, contrary to what is inferred in (for example) Ref. [18] and unequivocally stated in Ref. [23] (and in many other references elsewhereplease see below, in this paragraph), Kirchhoff [15] did not explicitly invoke any matrix notation; neither did he directly prove the Matrix Tree Theorem.However, the determinant of a matrix remarkably similar to K arose when, in 1860, Borchardt [63] expressed the resultant of two polynomial equations of n th degree, φ(x) = 0 and ψ(x) = 0, in terms of the values that they assume at certain points when any of the (n + 1) values 0 1 , , ... , n a a a is substituted for x. [64] Borchardt, [63] like Kirchhoff, [15] did not make explicit mention of trees but he did distinguish between cyclic and noncyclic products of certain terms; [55] Borchardt [63] even commented on the fact that the singular matrix in question would be equi-cofactorial.Borchardt's paper [63] is fully discussed in Muir's monumental work on determinants. [64]oon [22] has observed that 'Maxwell's Rule', known to James Clarke Maxwell and J. J. Thomson (1892), [65] is an equivalent result, as is 'Sylvester's Rule' (1857), [66] known to Cayley [67] and to Sylvester. [66]Nevertheless, Cvetković et al. [27] believe that the MTT was first fully proved by Brooks, Smith, Stone and Tutte [50] in 1940 and, independently, by Trent, [68] in 1954; these same authors also point out that an elementary proof was presented by Hutchenreuther in the mid 1960s. [69]At the age of 80, Tutte documented his personal reminiscences [57] about the evolution of the proof in the classic paper published as Ref. [50] and Tutte's account [57] throws fascinating light on the process of its development.Meanwhile, Fleischner [55] claims that Kasteleyn [70] attributes the theorem to Kirchhoff, [15] whilst Harary and Palmer [71] credit Bott and Mayberry [72] with it, at the same time saying that the MTT is implicit in Kirchhoff's work; [15] Fleischner [55] likewise asserts that '... a careful study...' of Ref. [15] shows that the MTT is implicit in Kirchhoff's second paper. [15]uoting Muir, [64] Weinberg [37] and Chen, [34] Moon [22] has opined that Kirchhoff [15] gave a result dual to the MTT, involving a sum '... over the products of edges forming the complement of a spanning tree' (by which is presumably meant those edges that are frequently called 'chords'. [32,47]) In addition to referring to some of the proofs already mentioned, Moon, in his classic book, [22] has stated that the MTT has been proved by Lantieri, [73] Okada & Onodera, [74] Uhlenbeck & Ford, [75] Dambit, [76] and Rényi. [77]For further details on these somewhat tangled historical aspects the reader is referred to Chapter 5 (pages 41 and 42) of the monograph by Moon, [22] to the footnote on page 38 of the book by Cvetković, Doob, & Sachs, [27] and to footnote 18 (on page IX.73) and footnote 21 (on page IX.76) of the treatise by Fleischner. [55]It is to establish precisely what it was that Kirchhoff actually did in his second paper (Ref.[15], published in 1847) that is the main purpose of this review.

The Theorem of Gutman, Mallion & Essam (GME) (Refs. [21, 44-46])
Let G be a planar graph, and let G + be its complete ('geometric' [21,43,76,78,79] ) dual.Now delete the infinite-face vertex of G + and all the edges incident upon it.The resulting graph, G*, is called the inner dual of G. Another way of constructing the inner dual is as follows, and the algorithm about to be described is illustrated (in Figure 2) by its application to the planar graph shown in Figure 1 [21] The number of spanning trees in a connected, planar graph G is given by det ( * *) .

 B A
Here, A* is the vertex-adjacency matrix [53,54] of the labelled inner dual G*, and B* is a diagonal matrix with diagonal elements b1, b2, ... , bi, ... , bμ, where bi is the number of edges in the boundary of the face of G that is in 1-1 correspondence with the vertex i of G* which, in all, featuring in the theorem of Gutman et al. [21,[44][45][46] is thus: of which the determinant is again 60, thereby confirming the value for the complexity 57 of G (Figure 1) found, above, by means of the Matrix Tree Theorem.It may be noted that, in this example, establishing that the complexity is 60 by means of GME merely involves developing a (3 × 3) determinant, whereas application of the MTT necessarily involved evaluating a (7 × 7) determinant.It should also be mentioned in passing that, depending on the embedding, the matrix G for a given graph (in the GME approach [21] ) is not unique [44,46] -though, for a planar graph (which are the only type of graphs to which this GME theorem is applicable), the modulus of det G is unique.

The Cycle Theorem (CT) -the Theorem of Kirby, Klein, Mallion, Pollak & Sachs (2004) (Refs. 47,48)
The theorem of Gutman, Mallion & Essam [21] (GME) relies on the fact that, for a planar graph, the number of spanning trees in the graph is equal to the number of spanning trees in its complete (geometric) dual -see, for example, Ref. [21], p. 65 of Ref. [22], Refs.[76-78] and p. 38 of Ref. [79].Consequently, this theorem is in general applicable only to planar graphs. [46]Subsequently, Kirby et al. [47] proposed what they call the Cycle Theorem (CT), applicable to graphs of any genus.As with GME, the Cycle Theorem frequently gives rise to a determinant of smaller size ((μ × μ)) than the one (of size (v -1) × (v -1)) that would be encountered if the MTT were applied to the same problem; (μ ≤ v -1, if the average degree of the graph ≤ 4 4 v  , as is often the case with graphs of chemical interest).The Cycle Theorem, in its original form, [47] is formally applied as follows.First, for a given vertex-labelled graph (such as, for example, that in Figure 1), a set of edge orientations may be (arbitrarily) assigned -as is shown, for example, in Figure 3, for the edges a-j of the graph depicted in Figure 1.
Next, a set of arbitrarily-oriented cycles (that is, circuits with a sense of direction) is selected; (these will be described in more detail shortly.)Kirby et al. [47] then defined the (μ × e) matrix Z to be a cycles → edges incidence-matrix, and the matrix M to be the product ZZ T .Kirby et al. [47] discussed three types of cycles sets, which they called fundamental, independent and patch.(For a convenient summary of this please see p. 49 of Ref. [54].)These are as follows: (1) Suppose a spanning tree is selected -for example, if, from the graph depicted in Figure 3, the edges a, d and j were deleted, then the spanning tree illustrated in Figure 4 (below) would be created.
If, in such a spanning tree, the removed edges (the 'chords' [32,47] of the spanning tree) were then reinserted, separately and one at a time -with all previously re-inserted chords again being removed before the re-insertion of another -a unique set of cycles would be obtained, which is called [28] a fundamental system of cycles (e.g.Ref. [80]).The process is illustrated for the spanning tree in Figure 4 by the cycles depicted in Figure 5 (at the top of the next page).
These cycles are distinct, and their number is equal to μ, the circuit rank of the graph. [80]If (as here) they are assigned an arbitrary direction, they are called a fundamental system of cycles (rather than circuits).These are explicitly the sorts of cycles that Kirchhoff adopted in Ref. [15].Though he chose them, Kirchhoff himself did not use that actual name for such circuits/cycles but, as early as 1897 (precisely fifty years after Kirchhoff's work being   discussed here [15] ), Ahrens [28] made explicit reference (in German) to a '"Fundamentalsystem von Kreisen"'.
(2) If arbitrary linear-combinations of such fundamental cycles are taken, the resulting system is called an independent set of cycles.(Here, the word 'independent' is used in the sense of a vector space; [47] a fundamental system of cycles is also, self-evidently, a set of independent cycles, in the meaning intended.) (3) If the graph under study is planar and cycles that run around each of the several faces (finite regions [47] ) of the graph are selected, these are termed patch cycles.Patch cycles for the planar graph shown in Figure 3 are depicted in Figure 6 (at the bottom of this column).
(Note that all of (1), ( 2) and ( 3) are guaranteed to be independent sets in the sense stated: (1) and ( 3) are, however, special cases of such sets of independent cycles).
Kirby et al. [47,48] then defined the matrix M as being and, provided that the selected set of cycles is either fundamental (see (1), above) or patch (see (3), above), the Cycle Theorem simply states that where t(G) denotes the number of spanning trees in the original graph G.If the set of cycles used is 'independent', but not 'patch' or 'fundamental', the statement of the Cycle Theorem is more complicated and involves division by the determinant of the matrix U discussed in Ref. [47] or of the matrix M* discussed in Ref. [48]; det U (or det M*) is 1 in certain situations and different from 1 in others.As we are nowhere going to consider such sets of cycles in this discussion, we do not pursue this aspect any further, and, accordingly, only the more-restricted version of the Cycle Theorem, quoted above, is adopted here.As Kirchhoff [15] explicitly chose fundamental [28] sets of cycles (see (1), above), this more-limited version of the Cycle Theorem is all that is relevant for our present purposes.We here give applications of the Cycle Theorem to the graph shown in Figure 1.A fundamental system of cycles is illustrated in Figure 5 (above).The appropriate cycles → edges incidence-matrix Z [47,54] may be generated from the following table: the determinant of which is 60, in agreement with previous estimates.
A set of patch cycles is illustrated in Figure 6 (at the bottom of the opposite column).The appropriate cycles → edges incidence-matrix Z for these may be obtained from the table: the determinant of which is again 60, in agreement with previous estimates.(Note also that, for this planar graph, the matrix M arising from an application of patch cycles is the same as the matrix G that featured when we earlier applied the theorem of Gutman, Mallion and Essam; [21] this is  no coincidence and it will in fact always be the case when a planar graph is being dealt with, as was emphasised and shown in Ref. [47]).
Although, in this discussion, we shall not be using sets of independent cycles that are neither fundamental nor patch, we nevertheless, for completeness, illustrate such a set in Figure 7 (above).
The table for forming the Z-matrix associated with it is As it happens, det M = 60 -what we already know to be the 'right answer' but, here, this is fortuitous (and could not necessarily have easily been predicted in advance) and this circumstance arises because, on this occasion, the absolute value of det U, defined in Ref. [47], does in fact turn out, in practice, to be numerically equal to 1.

KIRCHHOFF'S SOLUTION OF AN ELECTRICAL NETWORK
After these preliminaries, we now illustrate Kirchhoff's work in his second memoir [15] by applying his analysis to the currents flowing in a particular electrical network, the connectivities in which are represented by the graph in Figure 1.This graph -now, for convenience, regarded as an electrical network -is again depicted, this time with (arbitrary but subsequently fixed) orientations, in Figure 8 (above, in the right-hand column).
In the Figure, the eight vertices are numbered (1-8), and the ten currents or edges -with arbitrarily assigned senses indicated by their respective arrows -are labelled by lower-case letters (a-j).The cycles considered -a set of three fundamental ones, of arbitrary sense, that are illustrated in Figure 5 -will later be labelled with lowercase Greek letters (α, β, and γ).Resistances, likewise not marked in the above Figure -following Kirchhoff's original notation [15] -will be denoted by wk, where wk is the numerical value of the resistance situated along edge k.Sources of electromotive forces, which would need to be present for currents to flow but the details of which are not relevant for our present purposes, are also not shown explicitly in Figure 8.
Kirchhoff [15] was, of course, concerned with solving the currents in an electrical network, the relevant equations being expressions of the two Laws enunciated in his first memoir. [3]For a network such as that shown in Figure 8, these equations may be expressed in in matrix form as where C is a certain matrix (characteristic of the network) that we shall discuss further, I is a column vector of unknown currents, and N is a column vector whose entries are (a) electromotive forces for those elements of N arising from an application of Law I.These will be zero for cycles in the electrical network that do not involve a battery and non-zero for those cycles that do involve a battery; (b) zeros, for all the elements of N that arise from an application of Law II.
For the example of the network shown in Figure 8, three equations arise from application of the First Law (one from each of the independent (fundamental) cycles α, β, and γ depicted in Figure 5), and eight (one from each of the vertices 1-8) from an application of Kirchhoff's Second Law.It may be observed in passing that Kirchhoff chose, right from the start, to select a (minimum) set of cycles -in his case fundamental ones -around which to apply his First  Law, but he did not initially select the minimum number ((v -1)) of vertices at which to apply his Second Law: he first discussed all v of them and then demonstrated that the equations arising from application of his Law II to only (v -1) of the vertices are independent equations.In the present example, the matrix C is constructed from the following table (cf.Ahrens (1897) [28] ): In the above, it should be noted that (a) the columns correspond to edges, a-j (see Figure 8); (b) the first three rows arise from an application of Law I to the three cycles α, β, and γ (in the fundamental set illustrated in Figure 5); (c) the last eight rows arise from an application of Law II at each of the vertices 1-8; (d) a rule for signs -which is arbitrary -has been chosen so that, for a cycle (rows 1-3), agreement in sense with a current is '+', and disagreement is '-'; for a vertex (rows 4-11), current away from the vertex in question is '+', towards it is '-'.
It will be observed that, in this example, matrix C is of dimension (11 × 10); this is so because the upper part of C (comprising the first three rows, above the dotted partitioning-line) is of size ([number of fundamental cycles] × [number of edges]) which, in the present case, is (3 × 10); in general, it is (μ × e).Henceforth, in the general case, we shall denote by the symbol P this matrix that arises from an application of Law I to the cycles in question.The last eight rows that constitute the lower part of C constitute a matrix of size ([number of vertices] × [number of edges]) (that is, (v × e)) which, here, amounts to (8 × 10).From now on, we shall refer to the matrix that arises from application of Law II as the matrix Q.In general, therefore, if the network comprises v vertices, e edges and μ independent cycles, the matrix C is of size ([μ + v] × e).Now, Kirchhoff proved [15,28] that, for a one-component graph, the quantity μ (what would nowadays be termed the cyclomatic number or circuit/cycle rank) is connected [15,28,80,81] to the quantities e and v by the relation μ = ev + 1.
Kirchhoff proved [15] this by arguing that his Law I gives rise to μ independent equations and his Law II provides -as is reasoned below -a further (v -1) independent equations.There are thus (μ 1) v   independent equations altogether and so these must determine all the individual currents in the several arms of the network, of which there are e.Equating (μ 1) v   to e thus gives the expression for μ that was stated above.It might be noted in passing that in the penultimate line of the proof of this relation in the left-hand column of page 7 of O'Toole's English translation [16] of Ref. [15], there is a misprint whereby the equation 'n -μ = m + 1' is stated but it should in fact be 'n -μ = m -1'; (what Kirchhoff [15] and his modern translators, O'Toole [16] and Biggs et al., [17] call m and n we here denote by v and e, respectively).
The relation just discussed and proved is thus tantamount to saying that the size of C is ([e + 1] × e).C is, however, of rank e, for, as Kirchhoff showed, [15] any one of the v rows in it that correspond to the vertices -i.e., any one of the v rows of Q, representing the left-hand sides of the equations that arise from an application of Law II -may be struck out, to leave a square matrix that we shall call C'.It is self-evident from Law II (concerning current conservation at junctions) that these v vertex-equations are not independent: because of applicability of the Kirchhoff Conservation Law (what we are calling Law II), if all but one of the currents entering and leaving a given junction are known, then the last one is automatically predetermined, by virtue of that Current-Conservation Law.Kirchhoff thereby proved [15] that any selected (v -1) of the v vertex-equations are independent.(This intuitive argument has been more rigorously and formally proved by Moon, on p. 40 of Ref. [22].) By contrast, the rows of C that correspond to a minimum set of independent cycles (i.e., the rows of P, arising from an application of Law I), are themselves already independent, by the very definition of independent cycles; [47,48] that is to say, P is of rank μ.In the present example, therefore, the first three rows of C form a matrix (P) of rank 3, and the last eight rows form a matrix (Q) of rank 7. The ([μ + v -1] × e) matrix C' is thus constructed so that its rank is e (= 10, in this case), corresponding to the number of currents (one for each edge) required to be found.Since, as we have already noted and proved above, μ = ev + 1, it follows that μ + v -1 = e, and so C' will always be a square matrix of dimension (e × e).

DOI: 10.5562/cca2995
Croat.Chem.Acta 2016, 89 (4)   matrix Q with any one of its rows deleted, so that the (e × e) matrix C' is in general of the form ' ' In the above, P is of size (μ × e) -where μ = ev + 1 -and Q' is of size ([v -1] × e); all this is consistent with the fact that C' is an (e × e) matrix (because μ + v -1 = e).If the column vector with (e + 1) elements that was previously defined as N becomes N', a column vector with e elements, when one of the v equations arising from an application of Law II is deleted, then the equations that Kirchhoff [15] had to solve were -when expressed in matrix notation -of the form C'I = N'.
In Ref. [15], Kirchhoff then solved this system of equations by, in essence, using Cramer's Rule.He showed that the common denominator in these solutions is the sum of all the products of μ resistances, , ,..., k k k ' [16] (This is equivalent to saying that only a spanning tree remains when those μ edges -nowadays called 'chords' [32,47] -have been deleted.)Thus, in the present example (in which μ is 3), det '  , where the terms run over all possible sets of edges that are complementary to trees and A can effectively be taken to be 1 by means of a multiplication of the common denominator and of the several numerators in the Cramer's-Rule expressions for the individual elements of I -and, from the point of view of counting trees, we are not interested in these numerators.Nevertheless, we do note in passing that Kirchhoff explicitly documents that the numerator in the Cramer's Rule expression for the current in the wire labelled λ is the sum of all products of (μ-1) resistances,  k k k and that this closed figure contains ...' the λ th wire. [16]The product of each such combination of (μ -1) resistances featuring in these numerators is multiplied by the (algebraical) sum of the electromotive forces located on the closed figure in question. [16]s Bryant has observed, [32] det C' thus identifies all the spanning trees via their complementary edge-sets (sometimes referred to as chords [32,47] ); and if A is taken as 1, then where |det C'| is the modulus of det C' and t(G) is the number of spanning trees in the original graph, G, representing the connectivity of the network under investigation.In other words, the complexity of the network under study is simply the number of terms of the wp wq wr-type (each being a product of three such wi-factors in the case of our illustrative network with cycle rank 3, and a product of μ such factors, in general).
Finally, we note that when any one of the last eight rows of the above (11×10) matrix is deleted -thereby converting it into the (10×10) non-singular matrix C' -the modulus of the numerical value of det C' is again found to be of magnitude 60; (the actual sign of det C' depends on the initial -arbitrary -labelling and ordering of the vertices, edges and cycles of the network, and on which row of C is deleted in order to form C'). This therefore confirms the computed complexity of the graph shown in Figure 1 which is the planar graph associated with the electrical network depicted in Figure 8 -to be 60, a value earlier deduced by means of the Matrix Tree Theorem [11,[22][23][24][25][26]49,50,55,57] and of the theorems of Gutman et al. [21] and of Kirby et al., [47] (as well as by the heuristic combinatorial reasoning, outlined earlier).

SOME REMARKABLE PROPERTIES OF THE MATRIX C
We now show how the matrix C arising from Kirchhoff's work [15] is related to the matrix K that features in the Matrix tree Theorem [11,[22][23][24][25][26]49,50,55,57] and (when the graph in question is planar) the matrix G in the theorem of Gutman et al. [21] We also show -whether the graph of the network be planar or non-planar -how these considerations connect with the matrix M, arising in what Kirby et al. [47,48] call the Cycle Theorem. We do this b examining the matrix CC T .(For the moment, we consider only networks that are represented by planar graphs -such as the one illustrated in Figure 8 -in order that the theorem of Gutman et al., in its original form, [21] shall be applicable, but, later, this restriction will be examined and relaxed.)We thus have in which PP T is a (μ × μ) matrix and QQ T is a (v × v) one.Now, PQ T is the (μ × v) product of a (μ × e) (cycles → edges) matrix P and the transpose of Q, a (v × e) (vertices → edges) matrix for the same network, and QP T is the (v × μ) transpose of that product.By numerically working these products for the particular matrices P and Q in the example of the previous section, the reader may verify that (at least for the network shown in Figure 8) PQ T and QP T are both zero matrices of the appropriate size.(This observation will be proved in the general case in the Appendix).Thus, CC T is in fact a partitioned matrix, as follows: We now consider how the matrices -which arise in our version of Kirchhoff's treatment that is expressed in matrix form (above) -are related to the matrix K featuring in the Matrix Tree Theorem (MTT), [11,22- 26,49,50,55,57] the matrix G that is encountered in the theorem of Gutman et al. [21] (GME) (when the graph in question is planar), and the matrix M arising in the Cycle Theorem [47] (CT) (whether the graph in question be planar or non-planar).It is found that, for the (μ × e) matrix P and the (v × e) matrix Q, PP T = G, (the (μ × μ) GME matrix for the planar graph under discussion, with its 'patch' cycles as as in Scheme 1, below), Scheme 1.
and PP T = M, (the (μ × μ) Cycle Theorem matrix), if a fundamental set of cycles (such as that depicted in Scheme 2, at the foot of this page) is selected for any graph -which may be either planar or non-planar.
In addition, QQ T = K.(In the above, G, K and M are the matrices earlier computed for the directed network in question, which is shown in Figure 3 and Figure 8.).Thus: in the case of a planar graph with patch cycles (as in Scheme 1, above) or for any connected graph (of whatever genus) when a fundamental system of cycles (e.g., Scheme 2, below) is used.In the above, CC T is of size (μ + ν) × (μ + ν) -that is, (e + 1) × (e + 1), because μ = ev + 1. (These observations concerning the Scheme 2.

DOI: 10.5562/cca2995
Croat.Chem.Acta 2016, 89 (4)   network shown in Figure 3 and Figure 8 will be proved in the general case in the Appendix but, for the moment, we persist with the specific illustrative example being dealt with above.)It should be noted that, by virtue of the Binet-Cauchy Theorem, [47,68,82] if H is any (p × q) matrix, det (HH T ) = 0 if p > q; otherwise, det (HH T ) = ΣΔ 2 , where the sum is taken over all determinants Δ that can be made up out of the columns of H. Since G = PP T , where P is of size (μ × e) -with μ < e if, and only if, v ≥ 2 (as will evidently be the case, in the context) -and P is of rank μ, we deduce that the (μ × μ) matrix G is non-singular -as, indeed, it should be. [21]The (v × v) matrix K = QQ T is, by contrast, predicted to be singular for, although Q is of size (v × e), its rank is only (v -1); K = QQ T is thus guaranteed to be a matrix with a vanishing determinant.26][27]47,49,55] Likewise, C is of size (μ + ν) × e -that is, (e + 1) × e -and it is thus concluded that the (e + 1) × (e + 1) matrix CC T is, appropriately, also singular (as can perhaps be more directly seen by a simple inspection of the partitioned matrix CC T , above, bearing in mind that K itself is singular).However, as was earlier pointed out, what Kirchhoff did was to delete one of the rows of Q, a process that yields a ([v -1] × e) matrix that we are here denoting by Q' -this is the matrix that Weinberg (on p. 11 of Ref. [37]), Moon (p.40 of Ref. [22]) and Bryant (p.84 of Ref. [32]) call 'the reduced incidence matrix' of the connected graph G. Thus: and (by workings analogous to those above) T ' ' , ' for a planar graph when patch cycles (such as those shown in Figure 6 and Scheme 1) are used, or, if a set of fundamental cycles (such as those depicted in Figure 5 and Scheme 2) are adopted for a graph that may be non-planar, T ' ' , ' where K' is the Kirchhoff matrix, K, with the j th row and the j th column of it deleted.Note that det K' is a diagonal minor the (j, j) oneof K; it is, therefore, equal to the (j, j)cofactor of Ksince (j + j) is guaranteed to be even.Thus, by the Matrix Tree Theorem, det K' = complexity.
Also, by virtue of the theorem of Gutman, Mallion & Essam, [21] when a set of patch cycles, as in Figure 6, is used, det G = complexity, and, in general, because of the Cycle Theorem, [47] det M = complexity, when a fundamental system of cycles (such as that depicted in Figure 5 and Scheme 2) has been used.We thus have (for a planar graph, with 'patch' cycles, as in Figure 6 and Scheme 1): or, in general, in the case of a non-planar graph, when a fundamental system of cycles (such as are depicted in Figure 5 and Scheme 2) is adopted in the context of the Cycle Theorem, T 2 det( ' ' )=det =(det )(det ')=(complexity) .' we deduce that 2 2 (det ') (complexity) ,  C and that, therefore, det ( ') (complexity).

  C
(The actual sign depends on the arbitrary way in which the vertices, edges and cycles of the planar graph G have been labelled, as well as on which row of the matrix Q has been deleted in the process of transforming the matrix Q to the matrix Q'.) We have thus confirmed, by a different route from that which Kirchhoff followed, that the modulus of det C'the common denominator in the expressions for the elements of the current vector I in the matrix version of Kirchhoff's treatment -is equal to the number of spanning trees in G. Our argument above has at times been similar to (though it was initially independent of) the one presented in a somewhat more abstract way by Bondy & Murty on p. 219 of Ref. [35].We, by contrast, have developed the concept from the starting point of Kirchhoff's very physical reasoning in the context of electrical networks.We have, thereby, succeeded in demonstrating how the matrix C' is related (i) to K, the matrix featuring in the Matrix Tree Theorem, [11,[22][23][24][25][26]49,50,55,57] and (ii) (for a planar graph, when patch cycles -e.g., such as those in Figure 6 -have been chosen) to the matrix G that arises in the theorem of Gutman, Mallion & Essam, [21] and (iii) to the matrix M encountered when a fundamental set of cycles (e.g., Figure 5) is employed when applying the Cycle Theorem to any graph -which, itself, may be planar or non-planar. [47] Furtherore, by this means we have not only determined the numerical values of the graph complexities in question but we have also related two of the specific matrices (G and M) that arise in these calculations to the nature (fundamental, patch, or neither) of the sets of independent cycles on which these spanning-tree enumerations have been based.
It should be noted that the arguments that we have advanced here lead to some possibly unexpected insight about how Kirchhoff's two Laws connect with several of the theorems for spanning-tree enumeration that we have considered in this discussion -namely that: (a) the (μ × μ) matrices G and M, arising in GME [21] and CT, [47] respectively, derive from an application of Kirchhoff's Law I (the 'circuit' law), around μ appropriately selected independent cycles that are extant in the network, whilst (b) the ((v -1) × (v -1)) matrix K', featuring in MTT, [11,22- 26,49,50,55,57] derives from an application of Kirchhoff's Law II (the 'current conservation' law) at all but (any) one of the v vertices of the network.

CONCLUSIONS
The following four conclusions -three definite and one speculative -may be drawn from this investigation: 1. Kirchhoff did invoke the concept of spanning trees, introducing them in a complementary fashion by referring to the chords that must be removed from the original graph in order to form such trees.He did, though, draw attention to the concept of a spanning tree by intuitively contrasting it with a 'geschlossene Figur'; he did, however, make no explicit mention of the 'baumförmigen Typus', so named and discussed by Ahrens, [28] exactly 50 years later, in the 1897 Mathematische Annalen.
2. In choosing the cycles around which to apply his First [15] (Second) [3] Law, Kirchhoff explicitly chose what would now be called Fundamental Systems of Cycles.(Kirchhoff himself did not use that name for such cycles but the aforementioned German-speaking author Ahrens [28] did make explicit reference to a '"Fundamentalsystem von Kreisen."') w w w w type that arise in the summation performed within that common denominator.(In concluding, though, we should once more emphasise that Kirchhoff himself did not explicitly use matrix notation -indeed, his paper [15] preceded Cayley's celebrated 1858 'memoir' [83] on matrices by eleven years.) 4 If he had been so-inclined, and the necessary matrix notation had been available to him, we may speculate that Kirchhoff, [15] in 1847, could well have explicitly formulated the Matrix Tree Theorem [11,22- 26,49,50,55,57] in its modern form (as a result of his Law II concerning 'conservation of current' at junctions) or even -from his 'circuit law', Law I -recent results such as (a possibly restricted version of) the Cycle Theorem [47,48] (2004).

Proof That
PP T = G (or M), QQ T = K, PQ T = 0, and QP T = 0 We need to prove in general the assertions that, in the preceding text, were simply claimed by actual demonstration in the particular case of the network depicted in Figure 8.
In what follows, concerning a connected, directed graph G representing an electrical network, we denote the μ independent cycles by μ1, μ2,..., μμ, the v vertices by v1, v2,..., vv, and the e edges by e1, e2,..., ee.Both the cycles and the edges are assigned arbitrary directions.

(i) Proof that PP T = G (for a planar graph with specially selected cycles)
For this proof (though not for the others, (ii), (iii) and (iv), in this Appendix) we need to assume (a) that the graph G, under consideration, is planar, and (b) that the μ independent basic cycles are chosen to coincide with the finite faces of G, and are all given the same sense.(This is the case, for example, with the patch cycles α, β, and γ shown in Figure 6 and Scheme 1).
Consider (PP T )ij, the (i, j)-element of the matrix PP T .This is the inner product between the vector comprising the i th row (pi) of P and the vector that constitutes the j th column of P T , which is the j th row (pj) of P. If i ≠ j, the r th entries in the two rows are non-zero if and only if edge er lies in the i th circuit, μi and in the j th circuit, μj.Whenever this occurs, if the set of independent circuits is as described in the opening paragraph of this proof, the elements (P)ir and (P)jr of the unimodular matrix P will be of opposite signs, and so (P)ir(P)jr = -1.(For the definition of 'unimodular' and its relevance in the present context see p. 33 of Ref. [79], p. 218 of Ref. [35], p. 40 of Ref. [22], page 84 of Ref. [32], and p. 99 of Ref. [57].)There will thus be a contribution of -1 to (PP T )ij for each edge that the finite region around which goes the cycle μi shares with the finite region around which runs the cycle μj.Thus, for i ≠ j, (PP T )ij = -(the number of edges that μi has in common with μj).
Otherwise, when i ≠ j, (PP T )ij = 0.It is clear, therefore, that, for i ≠ j, (PP T )ij = -(A*)ij, where A* is the adjacency matrix of the inner dual of G, constructed by the algorithm described earlier and illustrated in Figure 2. Likewise, (PP T )ii is the inner product of pi with itself and, since the number of entries of +1 and -1 in pi is the number of edges around the cycle μi, it follows that (PP T )ii = bi, where bi is the element in the i th row and the i th column of the diagonal matrix B*, defined earlier in the context of the method of Gutman, Mallion & Essam (GME). [21]We have thus shown that (PP T ) = B* -A* = G □ (ii) Proof that PP T = M (for a graph that may be non-planar and when a fundamental set of cycles is adopted).This follows immediately -by virtue of the definition of M -from the Cycle Theorem. 47 (iii) Proof that QQ T = K This was proved by (amongst others) Trent [68] -who used an approach based on the Binet-Cauchey Theorem [47,82] -Hutschenreuter, [69] Bondy and Murty, [35] and Biggs. [79]The proof presented here is along the lines of that given by Biggs, on p. 27 of Ref. [79].Consider (QQ T )ij, the (i, j)-element of the matrix QQ T , formed by multiplying Q and its transpose.(QQ T )ij is the numerical value of the inner product between the vector comprising the i th row (qi) of Q and the vector that constitutes the j th column of Q T , which is the j th row (qj) of Q.If i ≠ j, the r th entries in the two rows are non-zero if and only if there is an edge joining vertices vi and vj; in this case, the two non-zero entries are +1 and -1, so that (QQ T )ij = -1.Otherwise, (QQ T )ij = 0, when i ≠ j.Likewise, (QQ T )ii is the scalar product of qi with itself and, since the number of entries +1 or -1 in qi is the number of edges incident upon vertex vi (that is to say, is the degree of vertex vi), it follows that (QQ T )ii = (D)ii and thus that, overall, QQ T = D -A = K , as asserted.□ (iv) Proof that PQ T = 0 and QP T = 0 A proof of this was presented, in his several tours de force in this field (e.g., Refs.[31] & [32]) by Bryant, who credits the first part of it to the graph-theory pioneer O. Veblen, in his 1922 Analysis Situs (as graph theory/topology was then called); [30] Harary, in his book, [18] gives an analogous proof for undirected graphs.The result eventually even found its way -albeit informally and intuitively -into elementary texts (e.g., Ref. [84]).Consider (PQ T )ij, the (i, j)-element of the matrix formed from the product, PQ T , of P and Q T .(PQ T )ij is the numerical value of the inner product between the vector comprising the i th row (pi) of P and the vector that constitutes the j th column of Q T , which is the j th row (qj) of Q.The r th entries in these two rows are both non-zero if and only if the edge er lies in the i th cycle, μi, and is incident upon the j th vertex, vj.If er is in μi, then vj is necessarily likewise in that cycle; but if vj is in μi then there is one (and only one) other edge (es, say) of μi that is also incident with vj.Whatever arbitrary orientation be assigned to the cycles and edges of G, the signs of the entries in P and Q are always such that if both (P)ir and (P)is are of the same sign, then (Q)ir and (Q)is will be of opposite signs, and vice versa.Hence, in all cases, PQ T is thus a (μ×v) zero-matrix.Similarly, QP T is an (v×μ) zero-matrix.Both PQ T and QP T are, consequently, independent of the orientation given to the graph G. □ (Note: for an undirected graph, PQ T = 0 (mod 2) -see Harary. [18]) Acknowledgment.RBM is very grateful to Professor Bono Lučić and to Professor Želimir Kurtanjek for kindly drawing to his attention -during the MATH/CHEM/COMP 2016 meeting at which this paper was presented in honour of the 80 th birthday of Professor Nenad Trinajstić -to the relevance of Kirchhoff's Laws in metabolic pathways (Ref.[13]) and in the principle of maximum entropy production (Ref.[14]).ECK & RBM would also like to thank Nenad Trinajstić for his warm friendship and his genial professional collaboration over a period of some 40 years.
meet at a point then Kirchhoff's Second Law may be stated: (and Figure 2(a)), where the several vertices of G are denoted by full, solid circles.Place a point (denoted by an open circle in Figures 2(b) and 2(c)) inside each of the closed, finite regions (which are also known as rings, faces or patches) of G; this set of points will constitute the vertices of G* (depicted, as stated, by open circles).Now join by edges all pairs, i and j, of these vertices if and only if the enclosed regions of G within which lie the vertices i and j of the inner dual G* are adjacent in G (that is, have an edge in common in G).Furthermore, such an edge in G* is drawn between vertices i and j for every edge that is shared by the faces of G within which lie the vertices of G* when G* is constructed by the algorithm described (and illustrated in Figure 2(b)).Finally, the skeleton of the original graph G is discarded and the vertices of G* are then conveniently -though arbitrarily -labelled (see Figure 2(c)).

Figure 2 .
Figure 2. Construction of an inner dual in the context of the theorem of Gutman, Mallion & Essam.[21]

Figure 3 .
Figure 3.The labelled graph in Figure 1, with labelled edges and arbitrarily assigned directions.

Figure 4 .
Figure 4.A spanning tree of the graph depicted in Figure 3.

Figure 5 .
Figure 5.The fundamental system of cycles associated with the spanning tree illustrated in Figure 4.

Figure 6 .
Figure 6.Patch cycles associated with the labelled graph depicted in Figure 3.

Figure 7 .
Figure 7.A set of independent cycles for the graph shown in Figure 3 that are neither fundamental cycles nor patch cycles.

Figure 8 .
Figure 8.A Kirchhoff electrical network related to the planar graph depicted in Figure 1.

2 ,
w , for each combination of μ elements selected from all e of them, 1 ,..., e w w w , '... having the property that no closed figure remains [authors' italics] after removal of the μ wires 1 2 μ ... having the property that [exactly] one closed figure remains after the removal of the wires Croat.Chem.Acta 2016, 89(4) DOI: 10.5562/cca2995

(
Cramer's-Rule solutions to the equations that arise from the cumulative application of his Laws I and II to an arbitrary electrical network, G.because, if all resistances, ws , are set equal to 1, then the absolute value of the determinant of the matrix C' featuring in the common denominator of all Kirchhoff's Cramer's Rule expressions for the currents, Is, is simply equal to the number of terms of the