1

Supernodal Analysis Revisited
(2009 Re-Release)

arXiv:0903.2158v1 [cs.SC] 12 Mar 2009

Eberhard H.-A. Gerbracht

Abstract— In this paper we show how to extend the known
algorithm of nodal analysis in such a way that, in the case
of circuits without nullors and controlled sources (but allowing
for both, independent current and voltage sources), the system
of nodal equations describing the circuit is partitioned into
one part, where the nodal variables are explicitly given as
linear combinations of the voltage sources and the voltages of
certain reference nodes, and another, which contains the node
variables of these reference nodes only and which moreover
can be read off directly from the given circuit. Neither do we
need preparational graph transformations, nor do we need to
introduce additional current variables (as in MNA). Thus this
algorithm is more accessible to students, and consequently more
suitable for classroom presentations.
ACM Classification: I.1 Symbolic and algebraic manipulation; J.2
Physical sciences and engineering
Mathematics Subject Classification (2000): Primary 94C05; Secondary 94C15, 65W30
Keywords: analog circuits, (super-)nodal analysis, contracted graph,
paths, algorithm.

I. I NTRODUCTION
It is a well known fact – already taught in most undergraduate
courses on circuit theory [1] – that, when the node equations
for a standard Nodal Analysis (NA) of a linear circuit containing only admittances and independent current sources are set
up in matrix form
Y n vn = Jn ,
where vn denotes the vector of node voltages v 1 , . . . , v '!&n"%$#
of those nodes different from some fixed reference node '!&0"%$# ,
the entries of the node-admittance matrix Yn and the node
current-source vector Jn can be directly read off from the
circuit itself. I.e., each diagonal term of Yn in position (i, i)
is given by the sum of admittances incident with the node i ,
each off-diagonal term in position (i, j), i 6= j, is described by
the negative of the sum of admittances connecting the nodes
i and '!&j"%$# ; the i-th entry of the vector Jn is the sum of all
independent currents leaving or entering the node i with a
plus sign attached only to those currents directed toward the
node and a minus sign to all the others.
This article first appeared in: SMACD’04 Proceedings of the International
Workshop on Symbolic Methods and Applications in Circuit Design, Wroclaw, Poland, 23-24 September 2004. Sidney 2004, pp. 113–116. Due to the
low distribution of these proceedings, the author has decided to make the
article available to a larger audience through the arXiv.
The original research which led to this paper was done while the author
was with the Institut für Netzwerktheorie und Schaltungstechnik, Technische
Universität Braunschweig, D-38106 Braunschweig, Germany. The preparation
of this paper and its presentation at the SMACD’04 workshop was not
supported by any public funding.
The author’s current (as of March 9th, 2009) address is Bismarckstraße 20,
D-38518 Gifhorn, Germany. Current e-mail: e.gerbracht@web.de

As is equally well known, while it is easy to extend
nodal analysis to deal with circuits, which furthermore contain
voltage controlled current sources or nullors, massive problems
arise, when voltage sources of any kind have to be taken
into consideration, as well. Although this obstacle has been
basically overcome by the invention of the Modified Nodal
Analysis (MNA), which gives a universal method for any kind
of linear circuit, with good reasons most teachers of Electrical
Engineering seem to be very reluctant to confront their students with the MNA-algorithm, especially in undergraduate
courses.
Accordingly, several authors ([2, 3]) have proposed another
alternative, the so-called Supernodal Analysis (SNA), which
seems to be more accessible to students and thus has been
incorporated into existing undergraduate and graduate courses1
([4, 5, 7]): Starting with a linear circuit with admittances and
all kinds of independent sources, the initial set of equations
can be reduced to a smaller set; these resulting SNA-equations
again can be described in matrix form as
bN ,
bNv
bN = J
Y
b N is a
bN is a vector of selected node voltages, Y
where v
b
matrix of admittances and JN consists of suitably chosen
linear combinations of the independent sources. Although in
the literature ([3, 4]) instructions are given how to calculate
b N and J
bN , as far as we know, no algorithm
the entries of Y
has been developed, yet, which in analogy to standard nodal
analysis allows one to directly read them off from the circuit.
This paper was written to remedy this situation.
Remark: Throughout this paper, to keep notation as simple
as possible, while we freely talk about circuits with admittances, all the examples will be linear circuits considered in
the time domain, which besides independent sources consist
of resistors with positive conductances (symbolized by capital
letters), controlled sources and/or nullors. The experienced
reader will know how to generalize the results, which will
be presented, to other linear circuits containing inductors and
capacitors.
The only notational convention we will strictly adhere to is
using boldface letters for vectors and matrices.
Without loss of generality (cp. [8], 1.5.3) we demand that
all circuits under consideration are connected.
II. S UPERNODAL A NALYSIS OF L INEAR C IRCUITS WITH
I NDEPENDENT S OURCES
To keep matters simple at the beginning, in this section
we will only consider circuits without controlled sources and
1 Since the first publication of this article, the lecture notes [5] seem not
to be publicly available anymore. Nevertheless, those contents of the course
which were relevant for this paper have been incorporated into [6].

nullors.
The basis of our discussion is the concept of a supernode.
The definition, we will give, slightly differs both from the
one presented in [2], as well as from the one in [4], chapter
4.2. This was done to streamline the formulation of the
“traditional” algorithm and to prepare for our improvements.
Definition 1: A subcircuit of a given circuit which is connected, consists only of nodes and (independent) voltage
sources, and which is maximal with these two properties2 is
called a supernode.
Let us remark, that by this definition an ordinary node
which is not incident with any voltage source is regarded as a
supernode, as well. Furthermore, any supernode defines a cut
b of a circuit Γ, obtained by
of the circuit. The contraction3 Γ
contracting all the branches of all supernodes and removal of
all resulting loops, is a circuit, which by the initial prerequisite
of this section only contains resistors and independent current
b the
sources. During the course of this paper we will call Γ
contraction along the supernodes.
If, moreover, one removes all branches associated to current
b the result is the deactivated circuit in the sense
sources from Γ,
of [3, 4].
A. The Algorithm – Proceeding as in Textbooks
We are now able to adapt the general algorithm of Supernodal Analysis as presented in [2, 3, 4], and formulate it in
our terminology.
Input: a connected circuit Γ with n + 1 nodes, named
'!&0"%$# , '!&1"%$# , . . . ,(/.)n-*+,, consisting only of independent sources and
resistors. (∗ Node '!&0"%$# will be our global reference node
(ground/datum), and we set v 0 = 0. ∗)
Output:
1) a set of equations for the node voltages v 0 ,
v 1 , . . . , v '!&n"%$# , which completely describes the circuit Γ.
2) a subset of node voltages together with a reduced system
of equations (i.e. equations containing these variables
only), the solution of which directly leads to the solution
of the whole system.
1) Initialization
a) Assign node voltages.
b) Identify all supernodes and mark them; let N + 1
be the number of nodes in the contraction along
b
the supernodes Γ.
c) Within each supernode define one node as the
local reference node of the supernode (a supernode
consisting of a single node only is its own reference
node). The global reference node should be chosen
to be a local reference node4 .
2) For each supernode, express the node voltages within in
terms of the node voltage of its local reference node and
the values of the voltage sources, it encompasses.
2 I.e.

it cannot be enlarged without losing one or the other attribute.
the sense of [9], exercise II.4.15.
4 Clearly the global reference node need not be chosen before this step of
the algorithm.
3 in

3) For each supernode, write one KCL equation in terms
of the voltages of the local reference nodes; leave out,
as usual, the one for the supernode containing the global
reference node.
For those, who are not accustomed, yet, with supernodal
analysis, we exemplify the workings of the above algorithm:

The two voltage sources of this circuit give raise to two
supernodes (/.)A-*+, and (/.)B-*+, consisting of the nodes '!&1"%$# , '!&2"%$# and
'!&0"%$# , '!&4"%$# , respectively. While we can freely choose '!&2"%$# as the
local reference node for the supernode (/.)A-*+,, the local reference
node of (/.)B-*+, is supposed to be the node '!&0"%$# .
With node voltages being introduced, the internal structure
of the supernodes implies

 
 

v 0
0
0
v  v  − v01  v − v 
01
2
,
(1)
 1  =  2
=
v
+
v
02
v 4
v02
0

where we have partially solved this system of equations for
the voltages of those nodes, which are not reference nodes.
Kirchhoff equations for supernodes (/.)A-*+, and '!&3"%$# give:
G1 (v 2 − v 3 ) + G3 (v 1 − v 0 ) + G4 (v 2 − v 0 ) = 0,
G1 (v 3 − v 2 ) + G2 (v 3 − v 4 ) +

i01 = 0.

Finally, by using (1) and collecting all currents and voltages
resulting from independent sources on the right hand side, we
are led to the following system of equations for the voltages
of the local reference nodes:

 v ! 

2
0
+ G3 · v01
G1 + G3 + G4
−G1
·
=
−i01 + G2 · v02
−G1
G1 + G2
v 3
(2)
This reduced system is completely decoupled from (1).
Furthermore its solution together with (1) describes all the
node voltages of our example circuit.
B. On the results of the SNA algorithm in general
The preceding example gives rise to some observations,
which easily generalize to theorems for arbitrary circuits built
from admittances and independent sources. Let us suppose that
within each supernode one local reference node has already
been chosen.
Theorem 2: If a supernode carries the structure of a tree
then the voltage of any node within the supernode is uniquely

expressible as the voltage of the local reference plus the
sum, relative to the path orientation, of voltages of those
independent sources along the unique path from the reference
node to the node under consideration.
Thus, step 2 of the algorithm can be successfully carried out,
iff either every supernode is a tree, or any loop of independent
voltage sources within any supernode satisfies KVL (which
can be easily checked by identifying a spanning tree within
each supernode).
For the sake of completeness, we note that branch voltages
along admittances which at both ends are incident with the
same supernode can be determined without any calculations.
Theorem 3: If one of the above assumptions holds, the
system of equations resulting from step 3 of the algorithm
of supernodal analysis can be reduced to
bN ,
bNv
bN = J
Y

(3)

bN is the vector of voltages of local reference nodes,
where v
b N is the node-admittance matrix of the contraction along the
Y
b and J
bN is a vector of currents induced by the
supernodes Γ
independent sources, which will be specified more precisely
below.

A
sources which are part of the path γG
, with a voltage being
k
counted positive if the voltage source in question and the path
are oriented in opposite and negative, when the orientations
are the same. Consequently we have ΣA
k = 0, if Gk directly
connects two local reference nodes. We are now in a position
bN :
to formulate the fill-in rule for the vector J
Rule 2. Let {im } be the current sources and {Gk } be the
admittances of the circuit Γ. Let (/.)A-*+, be a supernode in Γ, not
bN at position
containing the datum node. Then the entry of J
A is given by
X
X
X
im −
ir +
Gk · ΣA
k,
(
/
.
)
*
+
,
(
/
.
)
*
+
,
(
/
.
)
*
+
,
im : im → A
ir : ir ← A
Gk : Gk incident with A
(4)
where im → (/.)A-*+, means, that the current source im is incident
with (/.)A-*+, and directed toward (/.)A-*+,, and ir ← (/.)A-*+, that ir is
incident with (/.)A-*+, but directed away from (/.)A-*+,.
Returning to our first example, in the next figure we see the
relevant paths γG2 and γG3 , which result in the entries G2 ·v02
and G3 · v01 of the right hand side of equation (2).

C. Reading off the Entries from the Circuit
b N is the node-admittance matrix of the contraction
Since Y
b
Γ, there is a simple rule how to fill in the entries just by
inspection.
Rule 1: Each element on the main diagonal at position
(A, A) is the sum of the admittances incident at only one
end5 with the supernode (/.)A-*+,. The off-diagonal elements at
position (A, B) is the negative of the sum of those admittances
connecting supernodes (/.)A-*+, and (/.)B-*+,.

In the future – for obvious reasons – when we talk about
admittances “incident with a supernode” we will only consider
those, that are incident at only one end.
Without loss of generality, let us assume that all supernodes
of Γ are trees. By this additional assumption paths within each
supernode are unique. Thus any admittance Gk connecting
two supernodes (/.)A-*+, and (/.)B-*+, defines a unique oriented path
A
γG
, consisting only of independent voltage sources and the
k
admittance Gk itself, as sketched in the figure below:

A
The path γG
is uniquely defined as the path which starts in
k
the local reference node (/.)β-*+, of (/.)B-*+,, passes through the node of
(/.)B-*+, incident with the admittance Gk , along Gk to that node of
(/.)A-*+, incident with the other end of Gk and finally ends in the
local reference node (/.)α-*+, of (/.)A-*+,. When this path is traversed in
B
the opposite direction, we will call it γG
. Now let ΣA
k be the
k
sum, relative to the orientation of this path, of those voltage
5 As noted above, those admittances incident with only one supernode at
both ends have to be neglected.

For the convenience of our readers we give a second example
with the supernodes marked and the relevant ”admittance
paths” sketched.

Now it is easy to read off the resulting reduced system of
equations. The interested reader is called upon to check each
entry by using the original algorithm, to see the advantage of
our approach.
!


v 1
(/.)A-*+,
G1 + G3 + G4 + G5 −G3 − G4 − G5
·
=
(/.)B-*+,
−G3 − G4 − G5
G3 + G4 + G5
v 5


i01 − i02 + G5 (u04 − u03 ) + G4 (u04 − u02 ) − G3 u03
i02
+ G5 (u03 − u04 ) + G4 (u02 − u04 ) + G3 u03
Although this exemplary circuit is highly artificial, it helps
to stress yet another point, namely that in many circuits any try
to set up nodal equations with the help of source shifting and
substitution by Norton equivalent subcircuits is highly difficult
or nigh impossible.
D. Circuits with Controlled Sources
The algorithm of nodal analysis can be easily generalized to
circuits containing voltage controlled current sources. Clearly
supernodal analysis and the two rules given above are suitable
for setting up the equations when circuits with voltage controlled sources of any kind have to be analyzed. In this case,
however, the concept of a supernode has to be extended in the
following way:
Definition 4: A subcircuit of a circuit which is connected,
consists only of nodes and independent as well as the controlled branches6 of dependent voltage sources, and which is
maximal with these two properties is called a supernode.
By temporarily treating controlled voltage sources as independent sources (the ”taping” of [4]) and using this modified
definition, again we can use the above algorithm plus our two
fill-in rules. To complete the algorithm, in an additional fourth
step we need to replace the dependent voltages and currents by
the controlling node voltages (i.e. the untaping of [4]). In this
more general case, we cannot expect a clean-cut partition of
the node equations into those, describing the ”inner workings”
of each supernode and those resulting from the contracted
circuit only. Nevertheless, our rules lead to a simple to set
up interim result.
Let us finally consider current controlled sources: When
supernodes have been introduced, controlling branch currents
fall into two classes, those inside and those outside a supernode. Those outside are currents through admittance branches
and thus can be easily substituted by the corresponding set
of node voltages as variables. In the second case, with the
controlling branch being part of a supernode, if again we can
assume that each supernode is a tree, then by induction we can
show that at least one end of the branch under consideration
has to be the root of a rooted tree of voltage sources. The
leaves of this tree are nodes through which currents induced
by admittance branches or current sources enter the supernode.
Now, using KCL at each node of the rooted tree, it is easy
to describe the controlling branch current as the sum of all of
these currents.
6

The reader should keep in mind that a controlled source consists of
two branches; thus we have to specify which branch should belong to the
supernode.

E. Circuits which contain Nullors
It was the authors initial hope that the approach of supernodal analysis by inspection could somehow be made to work
on circuits containing nullors as well. This hope was shattered
by the example below7 .
Though for circuits containing nullors, again there is a
bN
bNv
bN = J
reduced equation system which is of the form Y
b N , in general
and although there are hints of how to fill out Y
there does not seem to be any suitable definition of the notion
of a supernode which would lead to a short cut, by which
the tedious setting-up of equations could be avoided: On the
one hand supernodes in circuits with nullors should contain
the norators (thus defining Kirchhoff-surfaces for which the
equations have to be set up); on the other hand the voltages
of nodes connected by nullators to supernodes (in the sense of
definition 1) are known from the beginning as well, and should
not appear as variables in their own right. As our example
shows, these two demands do not lead to any well to teach or
easy to apply fill in rule.

(/.)B-*+,
'!&3"%$#


−(G1 + G2 )
−G3

G1 + G2 + G5
G3 + G4

−G5
−G4





v 1





· v 4  =
v 5


−G2 · v01 + (G1 + G2 ) · v02
−G3 · v01 + (G3 + G4 ) · v02

Fortunately, in case of admittance circuits with nullors,
supermesh analysis or RLA, as it was presented in algorithm
3.2 and chapter 5 of [2] can be shown to be universal, and
thus can be used for all circuits without cutsets of independent
current sources and nullators.
III. C ONCLUSION
Past experience in Braunschweig with an undergraduate
course of about 150 students [7] has shown that the modified SNA-algorithm, with fill-in rules, as presented above, is
quite easy to teach. Moreover, the students naturally adapted
7 The reader should note the particular choice of nodes '!
&1"%$# and '!&4"%$# as local
reference nodes, which from a practical point of view clearly is absurd, but
from an algorithmic point of view is a distinct possibility. Furthermore we
have refrained from setting v  = 0.
0

to it and after only a small amount of training applied it
successfully to a number of problems. Thus it seems that this
algorithm together with its counterpart, the supermesh analysis
(for nullor circuits), has reached a state of maturity, that makes
it perfectly suitable for presentation as ”universal tools” in any
course on circuit theory.
R EFERENCES
[1] Norman Balabanian, Theodore A. Bickart, and Sundaram Seshu,
Electrical Network Theory, John Wiley, New York, 1979.
[2] Ralf Sommer, Dirk Ammermann, and Eckhard Hennig, “More
Efficient Algorithms for Symbolic Network Analysis: Supernodes and Reduced Loop Analysis,” Analog Integrated Circuits
and Signal Processing, vol. 3, pp. 73–83, 1993.
[3] Ray R. Chen and Artice M. Davis, “Kirchhoff’s Voltage and
Current Laws,” in The Circuits and Filters Handbook, Wai-Kai
Chen, Ed., chapter 13.1, pp. 418–456. CRC Press, Boca Raton,
Florida, 1st edition, 1995.
[4] Artice M. Davis, Linear Circuit Analysis, PWS Publishing
Company, Boston, 1998.
[5] Ralf Sommer and Eckhard Hennig, “Rechnergestützte Berechnung elektrischer Schaltungen,” Lecture Notes VL 85-712,
Universität Kaiserslautern, winter term 1995/1996.
[6] Ralf Sommer, “Grundlagen der Schaltungstechnik,” Lecture Notes, Universität Ilmenau, summer term 2008. Cp.
the current version at http://ess-pc22.inf-technik.
tu-ilmenau.de, viewed February 20th, 2009.
[7] Eberhard H.-A. Gerbracht, “Wechselströme und Netzwerke,”
Lectures, Technische Universität Braunschweig, winter term
2001/2002 and summer term 2002.
[8] Leon O. Chua, Charles A. Desoer, and Ernest S. Kuh, Linear
and Nonlinear Circuits, Mc Graw-Hill, New York, 1987.
[9] Belá Bollobás, Modern Graph Theory, vol. 184 of Graduate
Texts in Mathematics, Springer-Verlag, New York, 1998.

N OTE ADDED

TO THE

E LECTRONIC V ERSION

In this electronic document, some small typographical errors
of the printed version were corrected. The figures, though still
drawn by hand, now are from the original coloured drawings.
Furthermore, for the convenience of the reader the abstract has been rewritten, and keywords, ACM and MSC
classifications, and a short CV according to IEEE standards have been added. One URL has been added to the
bibliography.
(March 9th,2009)

Eberhard H.-A. Gerbracht received a Dipl.-Math.
degree in mathematics, a Dipl.-Inform. degree in
computer science, and a Ph.D. (Dr. rer.nat.) degree in mathematics from the Technical University
Braunschweig, Germany, in 1990, 1993, and 1998,
respectively.
From 1992 to 1997 he was a Research Fellow
and Teaching Assistant at the Institute for Geometry
at the TU Braunschweig. From 1997 to 2003 he
was an Assistant Professor in the Department of
Electrical Engineering and Information Technology
at the TU Braunschweig. During that time he was also appointed lecturer
for several courses on digital circuit design at the University of Applied
Sciences Braunschweig/Wolfenbüttel, Germany. From 2001 to 2002 he was
appointed lecturer for a two-semester course in linear circuit analysis at the TU
Braunschweig. After a two-year stint as a mathematics and computer science
teacher at a grammar school in Braunschweig and a vocational school in
Gifhorn, Germany, he is currently working as free-lance private instructor,
advisor, and independent researcher in various areas of mathematics. His
research interests include combinatorial algebra, C*-algebras, the history of
mathematics in the 19th and early 20th century and applications of computer
algebra and dynamical geometry to graph theory, calculus, and electrical
engineering.
Dr. Gerbracht is currently a member of the German Mathematical Society
(DMV), the Society of Computer Science Teachers in Lower Saxony within
the Gesellschaft für Informatik (GI-NILL), and founding member of the
society “Web Portal: History in Braunschweig - www.gibs.info”.

