Why repeated squaring and scaling a graph adjacency matrix yields a rank 1 projector?

212 Views Asked by At

I've found an interesting relation between the equilibrium distribution of a random walker on a binary undirected graph and the repeated operation of squaring and scaling of its adjacency matrix.

Let $\mathbf{A}_0 \in \{0,1\}$ be a $n\times n$ adjacency matrix of a graph with $n$ nodes and $m$ links. Let $k_i$ be the degree of node $i$: clearly it must be $2m= \sum_i k_i$.

We now define the recurrency for $r=\{0,1,\ldots,\infty \}$:

$$\mathbf{A}_{r+1} = \frac{\mathbf{A}^2_{r}}{\textrm{Tr}[\mathbf{A}_{r}^2]}$$

Moreover, from graph theory we know that the following matrix $\mathbf{P}$ is called the configuration model:

$$\mathbf{P}=\frac{\mathbf{k}\mathbf{k}^T}{2m}$$

is a rank 1 matrix and interestingly it encodes the equilibrium distribution of a random walker diffusing on the network.

Strangely you can observe numerically in a variety of graphs that the following relation holds:

$$2m \mathbf{A}_{\infty} = \mathbf{P}$$

As far as I've observed this relation is general in the case the degree distribution is unimodal, it is true for the ER graph which has a binomial degree distribution and for regular graphs with a delta degree distribution. However as long as you introduce a bimodal degree distribution this relation ceases to be exact.

I can imagine this property has something to do with the largest eigenvalue of $\mathbf{A}$ but cannot find any indication in the literature about repeated adjacency matrix squaring.

Is there someone here that can give me some hint?

Here I enclose some MATLAB code, too, you can find the randomGraph.m function here:

N=200;
p=0.25;
A = randomGraph(N,p);
% Compute the graph degrees
k = sum(A)';
% Compute the rank 1 matrix representing the configuration model
P = k*k'/sum(k);
% Compute the iterated square matrix
for r=1:20
  An = An^2;
  An = An/trace(An);
end
% Plot both the iterated square matrix and the configuration model. 
% They are both rank 1 matrices with the typical stripy pattern.
subplot(1,2,1); imagesc(An); subplot(1,2,2); imagesc(P);
1

There are 1 best solutions below

2
On

What you observe follows directly, I think, from the Perron-Frobenius theorem. The simplest form says that if $A$ is a matrix all of whose entries are non-negative such that some power of it $A^n$ has all positive entries, then $(A/\lambda)^n$ tends to a rank one matrix as $n$ grows, where $\lambda$ is the dominant eigenvalue of $A$. Note that the condition $A^n$ has all positive entries for some $n>0$ is equivalent to $A^{2^k}$ having all positive entries for some $k>0$, since $A^m$ having all positive entries implies $A^{m+1}$ does, too.