Can someone find a simple method? The brute force, direct computation uses a surprising amount of CPU time.
All resistors are 2 Ω .
Here is the edge list used:
{{1,10},{1,41},{1,59},{2,12},{2,42},{2,60},{3,6},{3,43},{3,57},{4,8},{4,44},{4,58},{5,13},{5,56},{5,57},{6,10},{6,31},{7,14},{7,56},{7,58},{8,12},{8,32},{9,23},{9,53},{9,59},{10,15},{11,24},{11,53},{11,60},{12,16},{13,14},{13,25},{14,26},{15,27},{15,49},{16,28},{16,50},{17,18},{17,19},{17,54},{18,20},{18,55},{19,23},{19,41},{20,24},{20,42},{21,31},{21,33},{21,57},{22,32},{22,34},{22,58},{23,24},{25,35},{25,43},{26,36},{26,44},{27,51},{27,59},{28,52},{28,60},{29,33},{29,34},{29,56},{30,51},{30,52},{30,53},{31,47},{32,48},{33,45},{34,46},{35,36},{35,37},{36,38},{37,39},{37,49},{38,40},{38,50},{39,40},{39,51},{40,52},{41,47},{42,48},{43,49},{44,50},{45,46},{45,54},{46,55},{47,54},{48,55}}
The edges are identified by the vertex id number at each end of the edge. There are 90 edges and 60 vertices, identified by integers from 1 to 60.
The output is a table of rational, reduced (that is, coprime numerator and denominator) fraction, effective resistance and a count of the edges with that effective resistance. There are multiple edge effective resistance classes identified by their effective resistances.
" A network of 2 Ω resistors is created by making each edge of a "buckyball" (a.k.a. truncated icosahedron or fullerene-60) a resistor. Between any pair of adjacent vertices (i.e., vertices connected by an edge) the network has an effective resistance. What is the average (over all pairs of adjacent vertices only ) of these effective resistances? " (wording suggested by Mark Henning ) and the size of the edge effective resistance class (definition above) with the numerically smallest effective resistance, f . The formula to be used is: 1 0 0 0 0 0 0 Numerator [ f ] + 1 0 0 Denominator [ f ] + n . Using a wrong effective resistance fraction f = 1 1 3 3 5 5 and effective resistance class size n = 5 7 as examples, here is the the problem answer so formed: 3 5 5 0 1 1 3 5 7 .
For the benefit of those that require a visual:
With respect to the image above, © 2019 Randolph Herber, CC BY 4.0 Randolph Herber, the image is provided "as is," and I make no representations or warranties, express or implied, of any kind with respect to it. I disclaim all representations and warranties, including, without limitation, warranties of merchantability, fitness for a particular purpose, title and non-infringement.
This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try
refreshing the page, (b) enabling javascript if it is disabled on your browser and,
finally, (c)
loading the
non-javascript version of this page
. We're sorry about the hassle.
Yes. Exactly. You said you had Mathematica available. My answer is my Mathematica code used.
Log in to reply
The point of my solution is that we do not need to calculate the full pseudoinverse, since the average of the effective resistance over all edges can be determined by theoretical methods. Finding a single resistance would involve solving for one nonsingular matrix equation. Using Gaussian elimination for an n -dimensional problem takes O ( n 3 ) calculations, and I think that would be faster than using the Mathematica code you provide.
My original solution used essentially the same pseudocode as yours, but you asked for a simpler method. That is what I have come up with.
I marked your response as helpful for that reason. The code runs in a few minutes. But, I do not expect that most people have the resources that I have here at home; hence, my request for a simpler method. Thank you.
name = "Buckyball" ;
nvertices = PolyhedronData [ name , VertexCount ] ;
edges = Table [ e [ [ 1 ] ] \unicode f 3 d 4 e [ [ 2 ] ] , { e , PolyhedronData [ name , Edges ] } ] ;
The resistors are entered as conductances; hence, the 2 1 .
g = PlanarGraph [ Range [ nvertices ] , edges , VertexLabels → Name , EdgeWeight → ConstantArray [ 2 1 , Length [ edges ] ] ] ;
resistance = With [ { Γ = PseudoInverse [ With [ { wam = WeightedAdjacencyMatrix [ $#$1 ] } , DiagonalMatrix [ Tr /@ wam T ] − wam ] ] } , Outer [ Plus , Diagonal [ Γ ] , Diagonal [ Γ ] ] − Γ − Γ T ] & ;
r = resistance ( g ) ;
result = Tally [ Table [ r [ [ e [ [ 1 ] ] , e [ [ 2 ] ] ] ] , { e , edges } ] ] ⟹ ( 1 2 5 4 0 1 6 2 7 3 6 2 7 0 8 3 8 9 6 0 3 0 )
f = Plus @@ Table [ k [ [ 2 ] ] , { k , result } ] Plus @@ Table [ Times @@ k , { k , result } ] ⟹ 4 5 5 9
1 0 0 0 0 0 0 Numerator [ f ] + 1 0 0 Denominator [ f ] + 6 0 ⟹ 5 9 0 0 4 5 6 0
Problem Loading...
Note Loading...
Set Loading...
There are two types of edge. There are 6 0 edges of type 1 , which connect a hexagon to a pentagon, and there are 3 0 edges of type 2 , which connect two hexagons. There are two edges of type 1 and one edge of type 2 at each vertex.
Consider the situation where a current I enters the network at one vertex V , while 6 0 1 I leaves the network at each vertex. By symmetry, the amount of current flowing along the type 1 edges from the vertex V will be equal. Thus the current flowing on the type 1 edges away from V will be 6 0 5 9 u I , and the current flowing on the type 2 edge away from V will be 6 0 5 9 ( 1 − 2 u ) I for some u .
Superimpose this current flow with a similar one, where − I enters the network at a vertex W that is adjacent to V , with − 6 0 1 I leaving the network at each vertex. The total effect of this is to have a current flow with I entering at V , and I leaving at W . The current flowing along the edge V W will be 2 × 6 0 5 9 u I = 3 0 5 9 u I if V W is of type 1 , and 2 × 6 0 5 9 ( 1 − 2 u ) I = 3 0 5 9 ( 1 − 2 u ) I if V W is of type 2 . Thus the potential difference between vertices V and W is 1 5 5 9 u I if V W is of type 1 , and 1 5 5 9 ( 1 − 2 u ) I if V W is of type 2 . Thus the effective resistance of the network between neighbouring vertices V , W is 1 5 5 9 u of V W is of type 1 , and 1 5 5 9 ( 1 − 2 u ) if V W is of type 2 . Thus the average effective resistance is 9 0 1 [ 6 0 × 1 5 5 9 u + 3 0 × 1 5 5 9 ( 1 − 2 u ) ] = 4 5 5 9
We still need to determine one of these two resistances. It turns out that u < 3 1 , and so the answer is 5 9 0 0 4 5 6 0 . We can either perform a brute force calculation to determine u , or we can make a 5 0 : 5 0 guess as the whether n = 6 0 or 3 0 , and get the answer in at most two gos. Solving for one resistance by solving the simultaneous equations obtained from Kirchoff's laws, particularly if we use symmetry to reduce the network somewhat, should not be too hard...
The least effort method is to look at this Mathworld page , which gives the effective resistances for a whole array of Platonic and Archimedena polyhedra, but without specifying which vertex pairs correspond to which effective resistances. There are 23 different possible values of effective resistance for the truncated icosahedron, and a simple check shows that there are only two of these effective resistances R 1 , R 2 for which 2 R 1 + R 2 = 1 5 5 9 and these are (note that the Mathworld calculations assume that each portion of the network has resistance 1 Ω instead of 2 Ω ) R 1 = 1 2 5 4 0 1 6 2 7 3 R 2 = 6 2 7 0 8 3 8 9 Then R 1 must be the Type 1 resistance, and R 2 the type 2 resistance. Since R 1 < R 2 , we deduce that n = 6 0 .