Set 16 — Y-Bus Formation
Twenty worked problems on the first network matrix. Applying Kirchhoff's current law at every bus turns a network of any size into \(\mathbf{I} = \mathbf{Y}_{\text{bus}}\mathbf{V}\), whose coefficients can be written down by inspection faster than they can be derived. The set builds the matrix for a standard five-bus system three separate ways, modifies it for added and removed branches, and extends it to the two elements that break its symmetry — the off-nominal tap and the phase shifter. That five-bus system carries through to Set 20.
The nodal equation. \(\mathbf{I}_{\text{bus}} = \mathbf{Y}_{\text{bus}}\mathbf{V}_{\text{bus}}\), where \(\mathbf{I}\) is the current injected at each bus from outside the network and \(\mathbf{V}\) is measured to the reference — normally ground.
By inspection. \(Y_{ii}\) is the sum of all admittances connected to bus \(i\), including shunts; \(Y_{ij} = -y_{ij}\), the negative of the admittance joining \(i\) and \(j\), and zero if none does.
Line charging enters the diagonal only. Each line contributes \(B/2\) to \(Y_{ii}\) and \(B/2\) to \(Y_{jj}\) and nothing off-diagonal, because the shunt branches go to ground, not to the other bus.
The row-sum test. Each row sums to the total shunt admittance at that bus. With no shunts the sum is zero — a one-line check on any hand-built \(\mathbf{Y}_{\text{bus}}\).
Singular transformation. \(\mathbf{Y}_{\text{bus}} = \mathbf{A}^{T}[\mathbf{y}]\mathbf{A}\), with \(\mathbf{A}\) the element–bus incidence matrix and \([\mathbf{y}]\) the primitive admittance matrix. Machine-friendly, and the route when elements are mutually coupled.
Off-nominal taps. A transformer of admittance \(y\) with tap \(a\) on the \(i\) side gives \(Y_{ii} = y/a^{2}\), \(Y_{ij} = -y/a\), \(Y_{jj} = y\) — equivalent to a \(\pi\) with series \(y/a\) and two unequal shunts.
A phase shifter destroys symmetry. With complex \(a\), \(Y_{ij} = -y/a^{*}\) but \(Y_{ji} = -y/a\). No passive \(\pi\) reproduces it, and \(\mathbf{Y}_{\text{bus}}\) is no longer symmetric.
The five-bus system used throughout Part 4 has seven lines, with impedances and half-line charging in per unit on a 100 MVA base as tabulated below. Convert every series impedance to an admittance, and note what the conversion does to the sign of the reactive part.
The conversion. Rationalising rather than dividing complex numbers directly:
The sign reverses: a positive (inductive) reactance becomes a negative susceptance. Every series branch of a transmission network therefore contributes a negative imaginary part, which is why every \(Y_{ii}\) below turns out to be large and negative-imaginary.
Line 1–2 worked in full:
All seven:
Every line has the same \(x/r = 3\), so every admittance has the same angle, \(-71.57^\circ\), and they differ only in magnitude. That is deliberate in this standard test system and makes the arithmetic checkable: \(b = -3g\) in every row.
The ratio of the largest to the smallest is 8:1. Line 3–4 at \(0.01+j0.03\) is a short, heavy interconnection; lines 1–3 and 4–5 at \(0.08+j0.24\) are four times longer. This spread of admittances is what will make bus 3 and bus 4 behave almost as one bus in the load flow of Set 19.
A note on the charging column. The \(B/2\) values are already halved — the nominal-\(\pi\) of Set 11, with half the line's total susceptance at each end. They are pure susceptances, positive because capacitive, and they never appear in an off-diagonal term.
Derive \(\mathbf{I}_{\text{bus}} = \mathbf{Y}_{\text{bus}}\mathbf{V}_{\text{bus}}\) from Kirchhoff's current law, and state precisely what \(\mathbf{I}\) and \(\mathbf{V}\) mean. Explain why the reference bus must be excluded.
KCL at bus \(i\). The current injected into the bus from outside equals the sum of the currents leaving it through every connected branch:
The first sum runs over branches to other buses; the last term is the shunt to ground, whose voltage is \(V_i\) itself.
Collect the coefficients of each voltage:
Which is the by-inspection rule, obtained rather than asserted. Writing one such equation per bus and stacking them gives the matrix form.
What the symbols mean — and the two usual misreadings:
Why the reference is excluded. Include ground as an \((n+1)\)th node and the matrix becomes singular. Every row and every column then sums to zero, so the rows are linearly dependent:
Physically: raising every node by the same voltage drives no current anywhere, so the all-ones vector is in the null space. Deleting the reference row and column removes that degeneracy and makes \(\mathbf{Y}_{\text{bus}}\) invertible — which is what makes \(\mathbf{Z}_{\text{bus}} = \mathbf{Y}_{\text{bus}}^{-1}\) meaningful in Set 18.
The shunts are what break the degeneracy. With the reference deleted, a row sums to \(y_{i0}\) rather than to zero — the shunt admittance is the only path by which current can leave the network's set of buses. A network with no shunt element anywhere would still have a singular \(\mathbf{Y}_{\text{bus}}\) after deletion, and its \(\mathbf{Z}_{\text{bus}}\) would not exist.
The dimensions. For \(n\) buses excluding the reference, \(\mathbf{Y}_{\text{bus}}\) is \(n\times n\) regardless of how many branches the network has. A network of 2000 buses and 3000 lines gives a \(2000\times2000\) matrix — and, as Problem 17 shows, one that is 99.8% zeros.
Form the bus admittance matrix of the three-bus network consisting of buses 1, 2 and 3 of the system, joined by lines 1–2, 1–3 and 2–3, first neglecting the line charging and then including it.
Neglecting charging. The diagonal of bus 1 is the sum of the two admittances meeting there:
The off-diagonals are simply the negatives of the joining admittances:
The check: every row sums to exactly zero, because with no shunt element there is nowhere for current to go when all three buses are at the same potential.
Including charging. Only the diagonals change. Bus 1 carries half the charging of lines 1–2 and 1–3:
The off-diagonal terms are untouched. Charging is a shunt element and shunt elements never appear off the diagonal.
The row sums now equal the shunt at each bus:
Positive and purely imaginary, as line charging must be.
The size of the correction. Charging changes \(Y_{11}\) by 0.055 in 18.75 — three parts in a thousand. It is negligible for a fault study, where the inductive terms dominate entirely, and not negligible for a load flow, where it is the whole of the Ferranti effect and a substantial part of the network's reactive balance.
Write down all the off-diagonal elements of the five-bus system's admittance matrix, and identify the zeros.
The rule needs no derivation now: \(Y_{ij} = -y_{ij}\) if a branch joins \(i\) and \(j\), and \(Y_{ij} = 0\) otherwise.
The zeros. Three bus pairs have no direct branch:
Six zero entries out of the twenty off-diagonal positions. The zeros are the network's topology, written down: \(\mathbf{Y}_{\text{bus}}\) is the graph's adjacency structure with admittances in place of ones.
The signs are worth pausing on. Every off-diagonal has a negative real part and a positive imaginary part — the exact opposite of the branch admittance, because of the minus sign in \(Y_{ij} = -y_{ij}\). A hand-formed matrix in which some off-diagonal has a positive real part contains an error, without exception.
Symmetry. \(Y_{ij} = Y_{ji}\) throughout, because a passive branch has the same admittance in both directions. This holds for every element in this network and fails only for the phase shifter of Problem 16 — the one device in a power system that is not reciprocal.
Reading the network back out. From the off-diagonals alone one can reconstruct the single-line diagram: bus 2 has four connections and is the hub; buses 1 and 5 have two each; the 3–4 branch is six times stiffer than any other. Nothing about generation, load or voltage appears — \(\mathbf{Y}_{\text{bus}}\) describes the network and only the network.
Complete the five-bus admittance matrix by forming its diagonal elements, including the line charging, and present the full matrix.
Bus 1 connects to buses 2 and 3, and carries the half-charging of both lines:
Bus 2 connects to four others — the hub of the network:
Buses 3 and 4 are identical in this system — each joins the other through the stiff 3–4 branch and has one further connection to bus 2, plus one long line:
Equal by coincidence of the data, not by symmetry of the network — bus 3 connects to 1, 2, 4 and bus 4 connects to 2, 3, 5, and the impedances happen to match.
Bus 5 has only two connections:
The complete matrix, in per unit on 100 MVA:
Two structural observations. Every diagonal is positive-real and negative-imaginary, and every diagonal is larger in magnitude than any individual off-diagonal in its row — necessarily, since it is a sum that includes them. The largest entry in the matrix is \(Y_{33} = Y_{44}\) at magnitude 40.79, dominated by the stiff 3–4 branch.
Verify the five-bus matrix by summing each row, and explain why the test works. Then show what a single transposition error would do to it.
Row 1 summed term by term:
Exactly the half-charging of lines 1–2 and 1–3, \(0.030+0.025\).
All five rows:
Every real part is zero and every imaginary part matches the tabulated charging at that bus.
Why it works. Set every bus voltage to 1.0 and the nodal equation gives
With all buses at the same potential no current flows in any series branch, so the only current injected is that drawn by the shunts. The row sum is the shunt admittance, and the test is a physical statement rather than an algebraic trick.
What it catches. Every error in which a term is dropped, doubled, mis-signed or placed in the wrong column shows up:
A worked example of the failure it does catch. Suppose \(Y_{24}\) were entered as \(+1.6667-j5.0\) — the branch admittance rather than its negative. Row 2 would then sum to
A real part of 3.33 where zero was expected. The error is unmissable, and its size — twice the branch admittance — identifies which branch is at fault.
The one error it misses is a symmetric transposition: entering line 2–5's admittance at position (2,3) and line 2–3's at (2,5), with the same total. The row sums are unaffected because addition is commutative. Only a column-sum check on the matching column, or a comparison against the line list, will find it.
A 50 MVAr capacitor bank is connected at bus 5. Modify the admittance matrix, and state what changes and what does not.
The per-unit admittance. A capacitor rated \(Q\) at nominal voltage has, in per unit on the same base,
Positive imaginary: a capacitor is a positive susceptance, the opposite sign to every series branch in the network.
The modification is one element. A shunt connects a bus to the reference, so it appears in that bus's diagonal alone:
Nothing else in the matrix changes — not \(Y_{25}\), not \(Y_{45}\), not any other diagonal.
The new row sum is \(j0.040 + j0.5 = j0.54\), and the check still passes because the capacitor is a shunt admittance and the test was written to include it.
The same slot serves every shunt element. Line charging, capacitor banks, shunt reactors, the transformer's magnetising branch, and the equivalent shunt of a constant-impedance load all add to the same diagonal:
The last is the only one with a real part, and it is also the only one that changes the diagonal's conductance. It is how a load is represented in a fault study, where the iteration of a load flow is unavailable.
The magnitude matters. \(j0.5\) against \(-j11.21\) is a 4.5% change in \(Y_{55}\) — twenty times larger than the line charging's effect, and large enough to move a load-flow solution appreciably. A shunt element is the cheapest lever a planner has on a bus voltage, and this single matrix entry is the whole of its representation.
A new line is built between buses 1 and 4 with \(z = 0.05 + j0.15\) and \(B/2 = 0.020\) pu. Modify the admittance matrix, and identify exactly which entries change.
The new branch admittance:
Four entries change, and no others:
The results:
The last is the interesting one: a position that was zero is now occupied. The network's graph has gained an edge.
The check. Row 1 now sums to
And \(0.055 + 0.020 = 0.075\) — correct. Row 4 similarly becomes \(j0.075\).
Why this is not the general case. The modification was purely additive because the new branch joins two buses that already exist. Three other cases behave differently:
Only the last requires the singular transformation of Problem 13; the rest are done by inspection.
The contrast with \(\mathbf{Z}_{\text{bus}}\) is the point. Adding one line changed four numbers here. The same addition changes every element of the impedance matrix, because every bus's driving-point and transfer impedance is affected by a new path anywhere in the network. That asymmetry is why \(\mathbf{Y}_{\text{bus}}\) is the matrix that gets modified and \(\mathbf{Z}_{\text{bus}}\) is the one that gets rebuilt — the subject of Set 18's building algorithm.
Line 3–4 is taken out of service. Modify the original admittance matrix and comment on the result.
Removal is addition with the signs reversed. With \(y_{34} = 10.0 - j30.0\) and \(B/2 = 0.010\):
The diagonals collapse by 77%. Buses 3 and 4 go from being the two stiffest nodes in the network to being among the weakest:
Bus 5, untouched by the outage, is now stiffer than either of them.
The topology after the outage. With 3–4 gone, bus 3 connects only to 1 and 2, and bus 4 only to 2 and 5. Every path between them now goes through bus 2:
A path of impedance 0.12+j0.36 in place of one of 0.01+j0.03 — twelve times longer. Any power that was flowing 3–4 must now go the long way round, and the losses rise accordingly.
The check still passes: row 3 sums to \(j0.045\), which is \(0.025+0.020\) — the charging of the two lines that remain. The removed line's \(0.010\) has gone with it.
A trap worth naming. It is tempting to remove a line by setting \(Y_{34} = 0\) and stopping there. That leaves the diagonals containing the branch's admittance, so the matrix now describes a network in which the 3–4 branch has been replaced by two shunt admittances of \(10-j30\) at each end. The row sums would immediately expose it: row 3 would sum to \(10 - j29.955\) instead of \(j0.045\).
Line 1–2 is reconductored and its impedance becomes \(0.02 + j0.05\), the charging unchanged. Modify the matrix, and check the result against the general rule.
The new admittance:
Against \(5.0 - j15.0\) before. Note that the conductance has risen even though \(r\) is unchanged — because \(g = r/(r^{2}+x^{2})\) depends on the reactance too. This is the usual surprise in this calculation.
The change to apply:
Four entries, as in Problem 8 — a change of impedance is a removal followed by an addition, and the charging terms cancel:
The row sums are unchanged at \(j0.055\) and \(j0.085\), because only the series admittance moved and the series terms always cancel within a row. That is a useful discriminator: a change that alters the row sums has touched a shunt; one that does not has touched only a series branch.
The general rule, covering all three modifications of Problems 8 to 10 in one line. For a branch \(i\)–\(j\) whose admittance changes by \(\Delta y\) and whose half-charging changes by \(\Delta b\):
With \(\mathbf{e}_i\) the \(i\)th unit column. Addition is \(\Delta y = +y\), removal \(\Delta y = -y\), and a change of impedance is \(\Delta y = y^{\text{new}} - y^{\text{old}}\) — one formula for all three.
The rank-one structure is not decoration. \((\mathbf{e}_i-\mathbf{e}_j)(\mathbf{e}_i-\mathbf{e}_j)^{T}\) is a rank-one matrix, and a rank-one update to an inverted matrix is handled by the Sherman–Morrison formula in \(O(n^{2})\) instead of the \(O(n^{3})\) of a re-inversion. That single fact is the computational basis of the line-outage distribution factors used in every real-time contingency screening.
Write the bus incidence matrix of the five-bus system, taking ground as the reference and including the five aggregated shunt elements as elements in their own right.
The convention. The element–bus incidence matrix \(\mathbf{A}\) has one row per element and one column per bus, with
The reference — ground — gets no column. An element joining a bus to ground therefore has a single \(+1\) in its row rather than a \(+1\) and a \(-1\).
The element list. Twelve elements: seven series branches and five aggregated shunts, the shunt at each bus being the sum of the half-charging of every line meeting there.
The matrix, \(12\times5\):
Every entry is 0 or \(\pm1\). \(\mathbf{A}\) contains no electrical information at all — only the topology. The impedances live entirely in the primitive matrix of the next problem, and this separation is what makes the formulation attractive to a program: topology and parameters are read from different files and combined by one matrix product.
What \(\mathbf{A}\) does. Multiplying it by the bus voltage vector gives the voltage across each element:
Row 1 gives \(V_1 - V_2\), row 8 gives \(V_1 - 0 = V_1\). And its transpose does the reverse: \(\mathbf{I}_{\text{bus}} = \mathbf{A}^{T}\mathbf{i}\) sums the element currents into each bus. Those two statements are Kirchhoff's voltage and current laws respectively, and they are all that the next two problems need.
The sign convention is arbitrary but must be consistent. Reversing a row's signs reverses that element's assumed current direction, which changes the sign of the element current but not the final \(\mathbf{Y}_{\text{bus}}\) — because \(\mathbf{A}\) appears twice in \(\mathbf{A}^{T}[\mathbf{y}]\mathbf{A}\) and the two sign changes cancel. What must not vary is the convention within a row.
Write the primitive admittance matrix for the same twelve elements, and state when it ceases to be diagonal.
The definition. \([\mathbf{y}]\) relates the current in each element to the voltage across it, before the elements are connected to one another:
For unconnected, uncoupled elements this is simply \(i_k = y_kv_k\) for each — so the matrix is diagonal, and each diagonal entry is one branch admittance.
For this network it is \(12\times12\) and diagonal:
The first seven are the series branches, the last five the shunts. Note that the shunt entries are pure positive imaginaries and the series entries have negative imaginary parts — the two families are immediately distinguishable.
It is not the network. \([\mathbf{y}]\) knows the admittance of every element and nothing about how they are joined. \(\mathbf{A}\) knows how they are joined and nothing about their admittances. Neither alone describes the system; their product does.
When it stops being diagonal. Mutual coupling between two elements — most often between two circuits of the same double-circuit tower, or between the zero-sequence networks of parallel lines sharing a right of way — puts off-diagonal terms in \([\mathbf{y}]\):
Obtained by inverting the primitive impedance matrix \([\mathbf{z}]\), which is where the mutual impedance is naturally written. That inversion is of a small block, not of the whole matrix — coupled elements come in twos and threes.
And that is when the formation by inspection fails. The by-inspection rule assumes \(Y_{ij}\) depends only on the branch joining \(i\) and \(j\). With mutual coupling, a current in one branch induces a voltage in another that may not share a bus with it at all, and the resulting \(\mathbf{Y}_{\text{bus}}\) can have non-zero entries between buses with no direct connection. Only \(\mathbf{A}^{T}[\mathbf{y}]\mathbf{A}\) handles it.
Where this matters in practice. Positive-sequence mutual coupling between transmission circuits is small — a few per cent — and is normally neglected. Zero-sequence coupling between parallel circuits is not: it can reach 60% of the self-impedance, and neglecting it produces earth-fault currents and relay reach settings that are substantially wrong. Set 22 returns to this.
Derive \(\mathbf{Y}_{\text{bus}} = \mathbf{A}^{T}[\mathbf{y}]\mathbf{A}\) from the two incidence relations, and verify it reproduces the matrix of Problem 5 by computing one diagonal and one off-diagonal element explicitly.
The three statements needed:
Substitute forwards:
Three lines. The transformation is called singular because \(\mathbf{A}\) is rectangular — 12 by 5 here — and so has no inverse; the map from twelve element quantities to five bus quantities loses information and cannot be undone.
The element-by-element form. Writing out the product:
With \([\mathbf{y}]\) diagonal this collapses to \(Y_{ij} = \sum_k A_{ki}y_kA_{kj}\) — a single sum over elements.
Verifying \(Y_{11}\). Column 1 of \(\mathbf{A}\) is non-zero for elements 1 (branch 1–2), 2 (branch 1–3) and 8 (shunt at bus 1), with \(A_{k1} = +1\) in each. So \(A_{k1}^{2} = 1\) and
Matching Problem 5. The transformation has reproduced the by-inspection rule: \(A_{ki}^{2} = 1\) for every element touching bus \(i\), so the diagonal is a plain sum.
Verifying \(Y_{12}\). An off-diagonal needs elements with a non-zero entry in both columns 1 and 2 — only element 1, the branch 1–2, with \(A_{11} = +1\) and \(A_{12} = -1\):
The minus sign in \(Y_{ij} = -y_{ij}\) is the product of the \(+1\) and the \(-1\) — it was never a convention, but a consequence of the incidence signs.
And \(Y_{14} = 0\) for the same reason: no element has non-zero entries in both column 1 and column 4, so the sum is empty. The zeros of \(\mathbf{Y}_{\text{bus}}\) are the bus pairs sharing no element.
Why bother, when inspection is faster. Three reasons, none of them about speed:
A transformer of series admittance \(y\) has an off-nominal turns ratio \(a{:}1\), the tap being on the bus \(i\) side. Derive its contribution to the admittance matrix and its equivalent \(\pi\) circuit.
The model. An ideal transformer of ratio \(a{:}1\) in series with the admittance \(y\), with a fictitious node \(t\) between them:
The current relation carries the conjugate. For a real tap it makes no difference; for the complex tap of Problem 16 it makes all the difference, so it is written in from the start.
The current through the admittance:
Refer it to bus \(i\):
Using \(aa^{*} = |a|^{2}\).
And at bus \(j\), where the current leaving is \(-I_t\):
The four contributions:
For a real tap, \(a = a^{*}\) and the matrix is symmetric: \(Y_{ii} = y/a^{2}\), \(Y_{ij} = Y_{ji} = -y/a\), \(Y_{jj} = y\). Note the asymmetry between the two diagonals — the tapped side carries the \(a^{2}\), the other does not.
The equivalent \(\pi\). For a real tap, match a \(\pi\) circuit of series \(y_s\) and shunts \(y_{si}\), \(y_{sj}\) against those four entries:
The two shunts have opposite signs, since \((1-a)\) and \((a-1)\) differ by a minus. A tap above nominal puts a capacitive shunt on the tapped side and an inductive one on the other; below nominal, the reverse. Neither corresponds to any physical component — they are the bookkeeping that lets an ideal transformer be represented in an admittance matrix that has no place for one.
The branch between buses 2 and 4 is replaced by a transformer of admittance \(y = -j5.0\) pu with the tap on the bus 2 side. Compute its contribution at \(a = 1.05\) and at \(a = 0.975\), and interpret the equivalent shunts.
At \(a = 1.05\), with \(a^{2} = 1.1025\):
The equivalent \(\pi\):
A capacitive \(+j0.227\) at the tapped bus and an inductive \(-j0.238\) at the other. Check: \(-j4.762 + j0.227 = -j4.535 = Y_{22}\) and \(-j4.762 - j0.238 = -j5.0 = Y_{44}\). Both confirm.
At \(a = 0.975\), with \(a^{2} = 0.950625\):
Both shunts have reversed sign, as they must.
Reading the physics. The interpretation runs through the series element, not the shunts:
Raising the tap on the bus 2 side raises the voltage at bus 4 relative to bus 2 — which is the whole purpose of the device and the reason it is the network's principal voltage-control tool.
The effect on the complete matrix. With line 2–4 removed and this transformer inserted, the row sums become \(+j0.29176\) at bus 2 and \(-j0.2031\) at bus 4, against \(+j0.085\) and \(+j0.055\) before. Neither is a shunt element that exists — they are the tap's fictitious shunts plus the remaining line charging, and a negative row sum in a network with no reactors is the signature of an off-nominal tap.
And why the tap is a load-flow variable, not a parameter. \(a\) appears inside \(\mathbf{Y}_{\text{bus}}\), so an on-load tap changer regulating a bus voltage changes the matrix at every iteration. Load-flow programs treat tap-controlled buses by adjusting \(a\) between iterations and rebuilding the affected four entries — cheap, because Problem 8 showed the modification is local.
The same transformer now has a complex tap \(a = 1\angle3^\circ\) — a pure phase shift. Compute its four contributions, show that no equivalent \(\pi\) exists, and explain what the device does that a tap changer cannot.
The four entries, from the general result of Problem 14 with \(y = -j5.0\) and \(|a| = 1\):
\(Y_{ij} \ne Y_{ji}\). They have the same magnitude and conjugate angles — the real parts differ in sign. The admittance matrix of a network containing a phase shifter is not symmetric, and every algorithm that assumes symmetry to halve its storage or its arithmetic must be told about it.
No \(\pi\) can reproduce this. A \(\pi\) circuit of passive elements has \(Y_{ij} = Y_{ji} = -y_s\) by construction — the series element is the same element seen from either side. Two unequal off-diagonals cannot be matched by any choice of three passive admittances, so the phase shifter has no lumped equivalent and must be carried in the matrix as four independent numbers.
The physical statement. The device is non-reciprocal: a volt applied at bus \(i\) produces a different current at bus \(j\) than the same volt applied at \(j\) produces at \(i\). Reciprocity — the \(AD-BC = 1\) of Set 11 and the symmetry of every matrix so far — holds for all passive bilateral elements and fails here because the ideal transformer's complex ratio treats the two directions differently.
What it is for. A tap changer moves reactive power by changing a voltage magnitude; a phase shifter moves real power by changing an angle:
Inserting \(\alpha = 3^\circ\) into a branch whose natural angle difference is 5° raises its flow by 60%, without touching a single generator. It is the only device that controls the division of power between parallel paths, which is otherwise fixed entirely by the impedances.
The scale of the effect here. Between buses 2 and 4 the natural angle difference in the load flow of Set 19 turns out to be under 2°. A 3° phase shifter would therefore more than double that branch's flow — which is why phase shifters are rated in degrees of a few units and why their control is slow and stepped.
The general case combines both: \(a = |a|\angle\alpha\) with \(|a| \ne 1\) gives a device that controls magnitude and angle together. Then \(Y_{ii} = y/|a|^{2}\) differs from \(Y_{jj} = y\) and the off-diagonals differ from each other — all four entries independent, which is the most general two-terminal element a power network contains.
Count the non-zero entries of the five-bus matrix, derive a general expression, and evaluate it for networks of 100, 1000 and 10 000 buses. Comment on the consequences for storage and for solution.
The count here. Five diagonals, always non-zero, plus two entries for each of the seven branches:
76% occupied — hardly sparse. A five-bus network is too small to show the effect.
The general expression. Real transmission networks have a branch-to-bus ratio of roughly 1.5, so \(e \approx 1.5n\) and
The fill falls as \(1/n\). This is the crucial fact: a bus has a fixed number of neighbours no matter how large the system is, because it is a physical substation with a physical number of circuits leaving it.
The numbers:
The storage consequence. A 10 000-bus matrix stored as a full array of double-precision complex numbers needs
A factor of 2500. Storing the zeros is not merely wasteful; it is the difference between a study that runs and one that does not.
The solution consequence is larger still. Gaussian elimination on a full matrix costs \(O(n^{3})\); on a sparse one with good ordering it is close to \(O(n)\):
Seven orders of magnitude. Real-time contingency analysis, which solves thousands of such systems a minute, exists only because of this.
The catch is fill-in. Elimination creates non-zeros where there were none: eliminating bus \(k\) connects every pair of its neighbours. Eliminating a bus with \(d\) neighbours creates up to \(d(d-1)/2\) new entries, so the order matters enormously — eliminating the hub bus 2 first, with four neighbours, would create six new terms, while eliminating bus 1 or 5 first, with two each, creates one. Eliminating low-degree buses first is the standard heuristic, and it is what makes the count above achievable in practice rather than merely in principle.
Test the five-bus matrix for diagonal dominance, with and without the line charging. Comment on what the result implies for the iterative methods of Sets 19 and 20.
The definition. A matrix is diagonally dominant if
Strictly dominant if the inequality is strict for at least one row and the matrix is irreducible.
Without charging. Then \(Y_{ii} = \sum_{j\ne i}y_{ij}\) exactly, so the test compares \(\left|\sum y_{ij}\right|\) with \(\sum|y_{ij}|\):
Equality in every row — dominant, but only weakly.
Why exactly equal. The triangle inequality gives \(\left|\sum y\right| \le \sum|y|\) with equality only when all the terms share an angle. In this test system every line has \(x/r = 3\), so every admittance lies at \(-71.57^\circ\) and the sum's magnitude is the sum of the magnitudes. In a real network with mixed \(x/r\) ratios the diagonal would be strictly smaller than the off-diagonal sum, and the equality here is an artefact of the data.
With charging the diagonal moves in the wrong direction, because the shunt is capacitive and subtracts from an inductive diagonal:
Every row now fails the test, by about a quarter of one per cent.
The implication, stated carefully. Diagonal dominance is a sufficient condition for the convergence of Gauss–Seidel, not a necessary one:
The load flow of Set 19 converges on this matrix in about 20 iterations. The failed test predicts nothing, and it would be wrong to conclude from it that the method is unsafe here.
What actually governs convergence. The spectral radius of the iteration matrix, which for Gauss–Seidel on a load flow depends on the nonlinearity as much as on \(\mathbf{Y}_{\text{bus}}\) — the load-flow equations are not linear, and the linear-algebra theorems apply only to the linear system solved at each step. In practice Gauss–Seidel fails on power networks for a different reason entirely: heavily loaded systems near the nose of Problem 17 in Set 15, where the Jacobian is near-singular and no first-order method converges usefully.
With bus 1 at \(1.06\angle0^\circ\) and all other buses at \(1.0\angle0^\circ\) — the flat start of Set 19 — compute the injected current and the injected complex power at every bus, and interpret the result.
The calculation is one matrix–vector product:
Bus 1 in full:
All five:
Buses 4 and 5 give the check. Both connect only to buses at 1.0, so no current flows in any of their series branches and the injection is purely their own shunt:
Exactly the row sums of Problem 6 — the row-sum test, appearing again as a special case of this calculation.
Reading the real powers. Bus 1, held 6% high, exports 0.3975 pu — 39.75 MW — into the network. Buses 2 and 3 absorb 30 MW and 7.5 MW, and buses 4 and 5 absorb nothing at all, being too far from the disturbance to feel it at a flat start. The sum \(0.3975 - 0.30 - 0.075 = 0.0225\) pu is the 2.25 MW of loss.
What this is not. These are not the load flow's answer. The load flow specifies the injections and solves for the voltages; here the voltages were assumed and the injections computed — the inverse problem, and the easy one. The flat start's injections bear no resemblance to the actual generation and load, and the whole business of Sets 19 and 20 is adjusting the voltages until they do.
Where this calculation is used for real. Three places, all of them important: computing the mismatch vector at each load-flow iteration; computing bus injections from a state estimator's voltage solution; and computing fault currents once \(\mathbf{Z}_{\text{bus}}\) has given the faulted voltage profile. Every one of them is this same product.
Rebuild the admittance matrix with two changes: the branch 2–4 is replaced by a transformer of admittance \(-j5.0\) with tap 1.05 on the bus 2 side, and the 50 MVAr capacitor of Problem 7 remains at bus 5. Present the matrix, verify it, and account for every departure from the original.
Step 1 — remove line 2–4 (\(y = 1.6667-j5.0\), \(B/2 = 0.020\)) from the original:
Step 2 — insert the transformer, using the contributions computed in Problem 15:
Step 3 — add the capacitor at bus 5:
The matrix:
Note that \(Y_{24}\) is now purely imaginary — the transformer was specified as a pure reactance, so its contribution has no real part.
The verification, and it is the interesting part:
Accounting for rows 2 and 4. Row 2 should equal its remaining line charging plus the transformer's fictitious shunt:
Both reconcile exactly. The negative row sum at bus 4 is entirely the transformer's inductive fictitious shunt overwhelming the line charging, and it is correct — not a sign that anything is wrong.
The matrix is still symmetric, because the tap is real. Had it been the phase shifter of Problem 16, \(Y_{24}\) and \(Y_{42}\) would differ and the verification would have to be done on both rows and columns.
Practice Problems
Work each on paper before opening the answer. The answer is given so you can check yourself; the method is deliberately not.
P1. Convert \(z = 0.04 + j0.12\) pu to an admittance.
Show answer
\(r^2+x^2 = 0.016\), so \(y = (0.04-j0.12)/0.016 = \mathbf{2.5 - j7.5}\) pu.P2. Bus 3 connects to buses 1, 2 and 4 with admittances \(1-j3\), \(2-j6\) and \(4-j12\), and carries \(j0.04\) of charging. Find \(Y_{33}\).
Show answer
\(\mathbf{7 - j20.96}\) — the sum of all four, the shunt included.P3. Buses 2 and 6 have no branch between them. What is \(Y_{26}\)?
Show answer
Zero, unless a mutual coupling exists elsewhere in the network — Challenge C1.P4. A bus is served by two lines with \(B/2 = 0.02\) and \(0.03\). What should its \(\mathbf{Y}_{\text{bus}}\) row sum to?
Show answer
\(\mathbf{+j0.05}\) — purely imaginary and positive.P5. A network has 12 buses and 20 lines. What size is \(\mathbf{Y}_{\text{bus}}\)?
Show answer
\(\mathbf{12\times12}\). The branch count does not affect the size, only the fill.P6. How many of its 144 entries are non-zero?
Show answer
\(n + 2e = 12 + 40 = \mathbf{52}\), or 36%.P7. A 30 MVAr shunt reactor is connected at a bus, base 100 MVA. What is added to the matrix, and where?
Show answer
\(\mathbf{-j0.3}\) added to that bus's diagonal only. Negative because a reactor is inductive.P8. A line between buses 4 and 7 is switched out. How many entries change?
Show answer
Four — \(Y_{44}\), \(Y_{77}\), \(Y_{47}\), \(Y_{74}\). Every element of \(\mathbf{Z}_{\text{bus}}\) would change.P9. A transformer of admittance \(-j8\) has tap \(a = 1.10\) on the bus \(i\) side. Give its four contributions.
Show answer
\(Y_{ii} = -j8/1.21 = \mathbf{-j6.6116}\); \(Y_{ij} = Y_{ji} = \mathbf{+j7.2727}\); \(Y_{jj} = \mathbf{-j8}\).P10. Give its equivalent \(\pi\).
Show answer
Series \(-j7.2727\); shunt at \(i\) \(= -j8(1-1.1)/1.21 = \mathbf{+j0.6612}\); shunt at \(j\) \(= -j8(0.1)/1.1 = \mathbf{-j0.7273}\).P11. Why is \(\mathbf{Y}_{\text{bus}}\) normally symmetric, and what breaks it?
Show answer
Every passive bilateral element has the same admittance in both directions. Only the phase-shifting transformer breaks it, through the conjugate in \(Y_{ij} = -y/a^{*}\) — Problem 16.P12. If ground is retained as a node, what is the rank of the \((n{+}1)\times(n{+}1)\) matrix?
Show answer
\(\mathbf{n}\), not \(n+1\). Every row sums to zero, so the all-ones vector lies in the null space — Problem 2.
Challenge Problems
Three problems that break the by-inspection rule, in three different ways.
C1 — When inspection fails. Lines 1–3 and 2–3 share a tower and are mutually coupled with \(z_m = j0.05\) pu. Form the admittance matrix by singular transformation, compare it with the uncoupled one, and identify the entry whose change proves that inspection cannot work.
Show answer
The two coupled elements have a \(2\times2\) primitive impedance block, which must be inverted:
\[ [\mathbf{z}] = \begin{bmatrix}0.08+j0.24 & j0.05 \\ j0.05 & 0.06+j0.18\end{bmatrix} \Rightarrow [\mathbf{y}] = \begin{bmatrix}1.4304-j3.8664 & -0.6798+j0.8474 \\ -0.6798+j0.8474 & 1.9072-j5.1552\end{bmatrix} \]Against uncoupled self-admittances of \(1.25-j3.75\) and \(1.667-j5.0\). Placing this block in \([\mathbf{y}]\) and forming \(\mathbf{A}^{T}[\mathbf{y}]\mathbf{A}\):
\[ \begin{array}{lcc} \text{Entry} & \text{Uncoupled} & \text{Coupled} \\ \hline Y_{11} & 6.2500-j18.6950 & 6.4304-j18.8114 \\ Y_{12} & -5.0000+j15.0000 & \mathbf{-5.6798+j15.8474} \\ Y_{13} & -1.2500+j3.7500 & -0.7506+j3.0190 \\ Y_{22} & 10.8333-j32.4150 & 11.0739-j32.5702 \\ Y_{23} & -1.6667+j5.0000 & -1.2274+j4.3078 \\ Y_{33} & 12.9167-j38.6950 & 11.9780-j37.2718 \end{array} \]\(Y_{12}\) is the proof. The branch between buses 1 and 2 was not touched — it is still \(0.02+j0.06\), uncoupled to anything — yet \(Y_{12}\) has changed by \(-0.6798+j0.8474\), exactly the off-diagonal of the primitive block. The by-inspection rule \(Y_{12} = -y_{12}\) gives the wrong answer, because coupling between the elements 1–3 and 2–3 creates a term between buses 1 and 2.
The row sums still come to \(j0.055\), \(j0.085\), \(j0.055\) — the check passes on a matrix that inspection could not have produced, because the coupling terms cancel within a row exactly as series terms do. Note the sign of the change: the coupling has made buses 1 and 2 more strongly connected and buses 1 and 3 less so. Whether the mutual term helps or hinders depends on the assumed current directions, which is why zero-sequence coupling must be modelled with the physical phase arrangement and not by magnitude alone.
C2 — Circulating current between unequal taps. Three identical transformers, each of admittance \(-j10\) pu, are paralleled between two buses with their taps set to 1.000, 1.025 and 1.050. No net power is transferred through the group. Find the current in each and comment.
Show answer
With \(V_i = 1.0\) and no net flow, \(\sum_k I_k = 0\):
\[ \sum_k y\left(\frac{V_i}{a_k} - V_j\right) = 0 \Rightarrow V_j = \frac{V_i}{3}\sum_k\frac{1}{a_k} = \frac{1+0.97561+0.95238}{3} = 0.975997 \]Then \(I_k = -j10(1/a_k - 0.975997)\):
\[ \begin{array}{lcr} a & 1/a & I\ (\text{pu}) \\ \hline 1.000 & 1.000000 & -j0.24003 \\ 1.025 & 0.975610 & +j0.00387 \\ 1.050 & 0.952381 & +j0.23616 \\ \hline \text{sum} & & 0 \end{array} \]Nothing is being transmitted, and 24 MVAr is circulating. The transformer on nominal tap absorbs 24 MVAr from bus \(j\); the one on 1.05 delivers 23.6 MVAr back into it. On a 100 MVA unit that is a quarter of rating consumed by nothing but a difference of tap position.
Two consequences. First, paralleled transformers must have matched tap positions and matched impedances; a group whose on-load tap changers are not electrically ganged will circulate reactive power indefinitely. Second, the circulation is purely reactive here because the transformers were taken as pure reactances — with resistance included there is also a small real circulation and therefore a genuine loss. The standard remedy is a master–follower or circulating-current control scheme that biases each tap changer by the reactive current it is carrying.
C3 — Find the error. A colleague submits an admittance matrix for the five-bus system whose row sums come out as \(j0.055\), \(j0.055\), \(-1.25+j3.805\), \(j0.055\), \(-1.25+j3.790\). Diagnose the errors without seeing the matrix.
Show answer
Row 2. Expected \(j0.085\), obtained \(j0.055\) — a deficit of exactly \(j0.030\). That is the half-charging of line 1–2, so one line's charging has been omitted from \(Y_{22}\). The deficit is purely imaginary, which rules out a missing series term.
Rows 3 and 5. Both carry a spurious \(-1.25+j3.75\) over their expected values (\(3.805 - 0.055 = 3.75\); \(3.790 - 0.040 = 3.75\)). An off-diagonal term of \(-1.25+j3.75\) has been entered at positions (3,5) and (5,3) — a line has been created between buses 3 and 5 that does not exist. Its admittance, \(1.25-j3.75\), identifies it as a copy of line 1–3 or 4–5, so the likely cause is a mis-keyed bus number in the line data.
The diagnostic pattern is general:
\[ \begin{array}{ll} \text{Deficit purely imaginary and positive} & \text{a charging term omitted} \\ \text{Excess} -y \text{ in two rows} & \text{a spurious branch between them} \\ \text{Excess} -y \text{ in one row only} & \text{an asymmetric entry, or a shunt mis-signed} \\ \text{Excess} -2y \text{ in one row} & \text{an off-diagonal entered with the wrong sign} \end{array} \]Two errors located, and both identified by branch, from five complex additions — without ever looking at the matrix itself. This is why the row-sum check is run before, not after, the matrix is used.
Multiple-Choice Questions
MCQ 1. In \(\mathbf{I} = \mathbf{Y}_{\text{bus}}\mathbf{V}\), the vector \(\mathbf{I}\) contains:
(a) line currents (b) currents injected at the buses from outside (c) fault currents (d) charging currentsShow answer
(b). Line currents never appear in the nodal formulation; they are recovered afterwards from the voltage differences. Problem 2.MCQ 2. \(Y_{ij}\) for a branch of admittance \(y\) between buses \(i\) and \(j\) is:
(a) \(y\) (b) \(-y\) (c) \(1/y\) (d) \(y/2\)Show answer
(b). The minus is the product of the \(+1\) and \(-1\) incidence entries, not a convention. Problem 13.MCQ 3. Line charging appears in \(\mathbf{Y}_{\text{bus}}\):
(a) on the diagonals only (b) off the diagonals only (c) in both (d) not at allShow answer
(a). It is a shunt to ground, and shunts never connect two buses. Problem 3.MCQ 4. Each row of a correctly formed \(\mathbf{Y}_{\text{bus}}\) sums to:
(a) zero (b) the diagonal (c) the shunt admittance at that bus (d) unityShow answer
(c) — and to zero only when there is no shunt. Problem 6.MCQ 5. Adding a line between two existing buses changes how many entries?
(a) one (b) two (c) four (d) all of themShow answer
(c). All of them, however, in \(\mathbf{Z}_{\text{bus}}\) — which is the whole difference between the two matrices. Problem 8.MCQ 6. In \(\mathbf{Y}_{\text{bus}} = \mathbf{A}^{T}[\mathbf{y}]\mathbf{A}\), the matrix \(\mathbf{A}\) contains:
(a) admittances (b) impedances (c) only 0 and \(\pm1\) (d) bus voltagesShow answer
(c). It is pure topology; the electrical data lives entirely in \([\mathbf{y}]\). Problem 11.MCQ 7. The primitive admittance matrix is diagonal unless:
(a) there are transformers (b) elements are mutually coupled (c) the network is meshed (d) shunts are presentShow answer
(b). Mutual coupling is the only thing that puts off-diagonal terms there — and the only thing formation by inspection cannot handle. Problem 12.MCQ 8. A transformer with tap \(a\) on the bus \(i\) side contributes \(Y_{ii} = \)
(a) \(y\) (b) \(y/a\) (c) \(y/a^{2}\) (d) \(ya^{2}\)Show answer
(c). The untapped side gets plain \(y\) and the off-diagonals get \(-y/a\). Problem 14.MCQ 9. The equivalent \(\pi\) of an off-nominal tap transformer has:
(a) two equal shunts (b) two shunts of opposite sign (c) no shunts (d) one shuntShow answer
(b) — \(y(1-a)/a^{2}\) and \(y(a-1)/a\). Neither is a physical component. Problem 14.MCQ 10. A phase-shifting transformer makes \(\mathbf{Y}_{\text{bus}}\):
(a) singular (b) asymmetric (c) real (d) diagonalShow answer
(b). \(Y_{ij} = -y/a^{*}\) but \(Y_{ji} = -y/a\), so no passive \(\pi\) exists. Problem 16.MCQ 11. For a typical network the fraction of non-zero entries in \(\mathbf{Y}_{\text{bus}}\) behaves as:
(a) constant (b) \(1/n\) (c) \(1/n^{2}\) (d) \(\ln n/n\)Show answer
(b), roughly \(4/n\) — because a substation has a fixed number of circuits however large the system is. Problem 17.MCQ 12. A network's \(\mathbf{Y}_{\text{bus}}\) is found not to be diagonally dominant. This implies:
(a) Gauss–Seidel will diverge (b) the matrix is wrong (c) nothing either way (d) the network is unstableShow answer
(c). Dominance is sufficient for convergence, not necessary; capacitive charging routinely breaks it on a perfectly good matrix. Problem 18.
Key Formulas
| Quantity | Relation | Notes |
|---|---|---|
| Nodal equation | \(\mathbf{I}_{\text{bus}} = \mathbf{Y}_{\text{bus}}\mathbf{V}_{\text{bus}}\) | \(\mathbf{I}\) is injection, not line current |
| Branch admittance | \(y = (r-jx)/(r^{2}+x^{2})\) | \(g\) depends on \(x\) too |
| Diagonal | \(Y_{ii} = y_{i0} + \sum_{j\ne i}y_{ij}\) | Shunts included |
| Off-diagonal | \(Y_{ij} = -y_{ij}\) | Zero if no branch joins them |
| Row-sum check | \(\sum_j Y_{ij} = y_{i0}\) | Fails on off-nominal taps |
| Branch modification | \(\Delta\mathbf{Y} = \Delta y(\mathbf{e}_i-\mathbf{e}_j)(\mathbf{e}_i-\mathbf{e}_j)^{T}\) | Rank one — Sherman–Morrison applies |
| Singular transformation | \(\mathbf{Y}_{\text{bus}} = \mathbf{A}^{T}[\mathbf{y}]\mathbf{A}\) | Required under mutual coupling |
| Incidence relations | \(\mathbf{v} = \mathbf{A}\mathbf{V}\), \(\mathbf{I} = \mathbf{A}^{T}\mathbf{i}\) | KVL and KCL |
| Tap transformer | \(Y_{ii} = y/a^{2}\), \(Y_{ij} = -y/a\), \(Y_{jj} = y\) | Tap on the \(i\) side |
| Equivalent \(\pi\) | series \(y/a\); shunts \(y(1-a)/a^{2}\), \(y(a-1)/a\) | Opposite signs |
| Phase shifter | \(Y_{ij} = -y/a^{*}\), \(Y_{ji} = -y/a\) | Asymmetric; no \(\pi\) exists |
| Shunt element | \(y = \pm jQ/S_{\text{base}}\) | Capacitor \(+\), reactor \(-\) |
| Sparsity | non-zeros \(= n + 2e \approx 4n\) | Fill \(\approx 4/n\) |
| Fill-in on elimination | up to \(d(d-1)/2\) new terms | \(d\) = degree; eliminate low-degree first |
Common Mistakes
Entering \(+y_{ij}\) off the diagonal. The commonest error of all, and the row-sum test catches it as a spurious \(2y\) — Problem 6.
Putting line charging in an off-diagonal. A shunt goes to ground and touches one bus only — Problem 3.
Removing a line by zeroing \(Y_{ij}\) alone. The two diagonals must lose the branch as well, or the model becomes two shunts — Problem 9.
Halving the charging twice. The tabulated \(B/2\) is already half; adding \(B/4\) to each end is a factor-of-two error — Problem 1.
Assuming \(g\) is unaffected by a change in \(x\). \(g = r/(r^{2}+x^{2})\), so reducing the reactance raises the conductance — Problem 10.
Confusing injected current with line current. \(\mathbf{I}_{\text{bus}}\) is what enters from outside the network — Problems 2 and 19.
Retaining ground as a node. The matrix is then singular and cannot be inverted for \(\mathbf{Z}_{\text{bus}}\) — Problem 2.
Using inspection on mutually coupled elements. Coupling creates terms between buses that share no branch — Challenge C1.
Putting \(a^{2}\) on the wrong side of a tap transformer. It belongs to the tapped bus's diagonal; the other side gets plain \(y\) — Problem 14.
Declaring a matrix wrong because its row sums are odd. Off-nominal taps produce fictitious shunts, including negative ones — Problems 15 and 20.
Assuming symmetry when a phase shifter is present. Storage schemes and solvers that halve the work on that assumption will silently give wrong answers — Problem 16.
Concluding from failed diagonal dominance that iteration will fail. The condition is sufficient, not necessary — Problem 18.
The network is now a matrix. Three routes to it have been shown — inspection, modification and the singular transformation — and the third was needed only once, for mutual coupling, which is exactly the case the first cannot express. The five-bus system built here is the spine of the rest of Part 4: it carries through Set 17's reduction, Set 18's impedance matrix, and the two load-flow methods of Sets 19 and 20, which will solve the same network by different means and be checked against each other.
Set 17 takes this matrix and works with it rather than on it: its properties, the elimination of buses with no injection, network reduction to an equivalent seen from a few terminals, and the relation between \(\mathbf{Y}_{\text{bus}}\) and the \(\mathbf{Z}_{\text{bus}}\) that Set 18 builds. The distinction that runs through both is the one Problem 8 established: a change to the network is local in admittance and global in impedance.