Mathematics |
The Bucky Ball
One interesting construction for graph analysis is the Bucky ball. This is composed of 60 points distributed on the surface of a sphere in such a way that the distance from any point to its nearest neighbors is the same for all the points. Each point has exactly three neighbors. The Bucky ball models four different physical objects:
The Bucky ball adjacency matrix is a 60-by-60 symmetric matrix B
. B
has three nonzero elements in each row and column, for a total of 180 nonzero values. This matrix has important applications related to the physical objects listed earlier. For example, the eigenvalues of B
are involved in studying the chemical properties of C60.
To obtain the Bucky ball adjacency matrix, enter
At order 60, and with a density of 5%, this matrix does not require sparse techniques, but it does provide an interesting example.
You can also obtain the coordinates of the Bucky ball graph using
This statement generates v
, a list of xyz-coordinates of the 60 points in 3-space equidistributed on the unit sphere. The function gplot
uses these points to plot the Bucky ball graph.
It is not obvious how to number the nodes in the Bucky ball so that the resulting adjacency matrix reflects the spherical and combinatorial symmetries of the graph. The numbering used by bucky.m
is based on the pentagons inherent in the ball's structure.
The vertices of one pentagon are numbered 1 through 5, the vertices of an adjacent pentagon are numbered 6 through 10, and so on. The picture on the following page shows the numbering of half of the nodes (one hemisphere); the numbering of the other hemisphere is obtained by a reflection about the equator. Use gplot
to produce a graph showing half the nodes. You can add the node numbers using a for
loop.
To view a template of the nonzero locations in the Bucky ball's adjacency matrix, use the spy
function:
The node numbering that this model uses generates a spy plot with 12 groups of five elements, corresponding to the 12 pentagons in the structure. Each node is connected to two other nodes within its pentagon and one node in some other pentagon. Since the nodes within each pentagon have consecutive numbers, most of the elements in the first super- and sub-diagonals of B
are nonzero. In addition, the symmetry of the numbering about the equator is apparent in the symmetry of the spy plot about the antidiagonal.
Graphs and Characteristics of Sparse Matrices
Spy plots of the matrix powers of B
illustrate two important concepts related to sparse matrix operations, fill-in and distance. spy
plots help illustrate these concepts.
Fill-in is generated by operations like matrix multiplication. The product of two or more matrices usually has more nonzero entries than the individual terms, and so requires more storage. As p
increases, B^p
fills in and spy(B^p)
gets more dense.
The distance between two nodes in a graph is the number of steps on the graph necessary to get from one node to the other. The spy plot of the p
-th power of B
shows the nodes that are a distance p
apart. As p
increases, it is possible to get to more and more nodes in p
steps. For the Bucky ball, B^8
is almost completely full. Only the antidiagonal is zero, indicating that it is possible to get from any node to any other node, except the one directly opposite it on the sphere, in eight steps.
Graphing Using Adjacency Matrices | An Airflow Model |