# Are there any applications of Algebraic Graph Theory to Computer Science?

Clearly graph theory has many applications in computer science. But what about algebraic graph theory and the techniques pertaining to it?

Most of the applications I can find are related to chemistry and the natural sciences (for example, eigenvalues of graphs have physical meaning when they represent mollecules). But how can we use the techniques of linear algebra to learn things about graphs in an algorithmic/computer science setting?

## 2 Answers

Loosely speaking, the Page Rank algorithm in it's most simple form finds the eigenvector of the stochastic adjacency matrix that corresponds to the eigenvalue $\lambda=1$.

Spectral graph theory is quite useful in studying large networks, such as in internet computing. Spectral clustering algorithms come to mind. Additionally, graph eigenvalues (the spectral gap in particular) tell us a lot about mixing times of random walks. As Jepsilon has pointed out, Google's page rank algorithm is a well-known application of this. Another technique in computer science is to use random walks to construct algorithms to cope with NP-Hard problems such as SAT.

More group-theoretic areas of algebraic graph theory come into play quite a bit in the study of the graph isomorphism problem. Babai's recent result is a prime example of this.

See this relevant thread as well: Applications of abstract algebra in CS