# Matrix solution of an equivalent resistance circuit problem

Start with a set of points $x_1, x_2, \ldots$ that are connected by wires with some resistance. Represent the resistance by a conductance matrix (conductance being one over the resistance), where $\mathbf{C}_{ij}$ is the conductance between points $i$ and $j$, if the point are connected by a wire, otherwise the $\mathbf{C}_{ij}=0$. Can one solve for the equivalent resistance between two points by some matrix transform of $\mathbf{C}$?

EDIT

The comments bring up some interesting points - and suggest an alternate phrasing:

Can you compute the resistance distance for a graph when the resistances are not all unit values using matrix operations?

-
Neat question :-) I suspect that there may be something like this, since you can use the Fourier transform (essentially an infinite-dimensional linear transformation) to solve the problem in xkcd.com/356. –  David Z Apr 8 '11 at 20:58
It should probably be pointed out that $C_{ij}$ is measured when all the other resistors are absent, while the sought-for equivalent resistance $R_{ij}$ is measure when all the resistors are present. Or do you have something else in mind? –  Qmechanic Apr 8 '11 at 21:18
@David: you can use Fourier transform for that because there the graph is lattice and the resistance has translational symmetry. In general the underlying graph will have no such structure. It might not even make sense to talk about embedding into $k$-dim space (which we often take for granted). –  Marek Apr 8 '11 at 21:55
I think it's misleading to use the word "matrix" for this table of numbers because there is no natural linear structure on this space, as far as I can see. So the formulae to invert the conductances to resistances won't be a natural linear algebra formula - it won't be a "function" of the matrix, in particular, it won't be the inverse matrix, I guess. The most striking deviation from the "matrix logic" is that the entries $C_{ii}$ are either zero or infinite. –  Luboš Motl Apr 9 '11 at 4:40
A more natural question is to first ask if there is known a general algorithm to find the equivalent reesistance for two points, given such a network. There is atleast an analogous thing for an arbitrary network of equal resistances mathworld.wolfram.com/ResistanceDistance.html –  user1708 Apr 9 '11 at 4:54

Write $U_i$ for the potential at the site $i$ and $I_i$ for the external current flowing into the site $i$. Then continuity equation gives us $I_i = \sum_{j \neq i} C_{ij} (U_i - U_j)$ which can be rewritten as $I_i = \sum_j A_{ij} U_j$ with $$A_{ij} = \begin{cases} \sum_{k \neq i} C_{ij} & i = j \\ -C_{ij} & i \neq j \end{cases}$$
Now one can proceed directly to solve for $U_i$, given external current flows. But it turns out that thanks to special properties of the matrix $A$ (notice that sum entries of each row gives zero) more can be said. It turns out (read the paper for details) one can express equivalent resistance between points $k$ and $l$ as $$R_{kl} = {{\rm det}A^{(kl)} \over {\rm det} A^{(l)}}$$ where the indexed matrices are obtained by removing the said rows and columns from the matrix $A$.
Last remark (not related directly to your question but it would be shame not to mention it now) is that those determinants can be interpreted naturally as spanning tree polynomials in $C_{ij}$ on the given graph $G$ (with or without $(kl)$ edge) and this in turn can be computed directly from the partition function of $q \to 0$ limit of the $q$-state Potts model on the said graph $G$ with weights on the edges related to their resistances.