Spectral Theory & US Politics

Graph theory arguably was born from the 7 bridges problem (father being none other than Euler of course) and since then has found application in nearly all applied and mathematical fields. I’ve been studying it independently for a few years now, and have seen its application from recommendation systems to my work in identifying opioid abuse leveraging prescription data. What I find most exciting about the field is its range of application which is seemingly only limited by the users creativity. So when I learned about a new application in graph theory called the Fiedler Eigenvalue I decided to give it a try.

Graph Theory versus Spectral Theory

“Now hold on one minute” you might say. “You just spent all that time talking about graph theory, but why does your project title talk about spectral theory? You must clearly not know what you’re talking about.” To which I would respond that you are absolutely correct, and further would likely ask you why you’re reading a random math blog when you could be enjoying so much more entertaining content, enjoying time outside, or having a delicious meal, but we all have our questions.

Regardless, what is spectral theory, and how does it relate to graph theory? In short, graph theory is the structure of networks and their properties. When representing a graph mathematically, we can do it through the use of its adjacency matrix in matrix form. When in this form, we suddenly have access to countless tools to analyze, transform, and use these matrices to identify properties about the graph and its underlying structure. This is where things get really interesting.

When represented as a matrix, we can then identify the spectral properties of the matrix: its eigenvalues and eigenvectors and what their behavior tells us about the system. This is where we can really start to analyze the graph, and the spectral properties of the eigenvalues and eigenvectors can tell us a lot about the system.

Graph Theory Example

As a brief example, below is an example of the well known Karate Club graph, as well as its associated matrix on the right. Black squares are a 0’s and white are 1’s. Each blue dot or node represents a person, with an edge going between two dots of they were friends. This is a famous example as this Karate Club eventually split into two groups, and through graph theory you could predict who went to which groups based on their connections.

US Congress Voting Habits

I downloaded the voting records from the 1-115th US Congress, available online from Voteview. From there it was a simple matter to build a weighted graph network for each congress. In each graph, the node represented a specific politician, and the edge weight between two nodes represented how many times they voted in accordance to each other. Thus if politician A had a weight of 7 with politician B, then it would mean Senator A agreed (either with a ‘yay’ or ‘nay’ vote) 7 times with his or her counterpart Senator B.


So its pretty clear just from visualizing the graph matrices, that there is an increase in high density weights, the dark red areas of each square. Despite the color scheme, don’t view this as party affiliation. The density of color simply suggests that more and more congressmen and congresswomen are voting together in blocks, with very little movement between the blocks. The 75th congress was remarkably Democratic,  with a 75%+ majority in both houses. However the weighted matrices shows that despite this party majority, there were still differing views between party members when it came to voting on legislation.

Compare that to the bottom row, which shows that voting is much more strongly tied to blocks or groups of people than ever before. While this analysis may not be particularly groundbreaking for anyone who has gone on twitter or watched the news for 15 minutes, it nevertheless is an interesting visual showcasing this phenomenon.

Connectedness & The Fiedler Eigenvalue

Lastly I wanted to show how the Fiedler eigenvalue of the matrix changes overtime. I won’t go into specifics, but essentially the value is just one measure of many of how ‘connected’ a graph is. The higher it is, the more connectedness between the nodes. Whereas a smaller value implies that the graph is more disconnected.

I initially thought that this value would be a good measure of partisanship,  however I realized that it is much more nuanced. Time periods such as World War 2, FDR’s ‘New Deal’ and other historically significant events had a much lower value than I anticipated. I would attribute this to the fact that conflict within party members and regarding legislation still existed, and some notable legislation that was passed, still did so on a smaller margin and with potential voters crossing party lines.

If I continued this project, I would be interested to overlay party majority and control on the graph feature below, as well as look closer at if one could identify subgroups within parties and influential voting blocks. Nevertheless, the voting structure of US Congress was an interesting topic of study.