[[lecture-data]]Announcement
Final project scheduling random sequence generator: to be posted on Cavas later.
3. Graphon Signal Processing
Graphon signal
A graphon signal is defined as a function ${\cal X}: [0,1] \to \mathbb{R}$$
[!NOTE]
We focus on signals in , or “finite energy signals”: $\int _{0}^1 \lvert {\cal X}(u) \rvert^2 , du \leq B < \infty $$
[!def] Induced Graphon Signal
Let be a graph signal. The induced graphon signal is defined as the pair where is the induced graphon and {\cal X}_{n}(u) = \sum_{i=1}^n [x_{n}]_{i} \mathbb{1}(u \in I_{i})$$ Where \mathbb{1}I_{k} = \begin{cases} [ \frac{k-1}{n}, \frac{k}{n} );;;1 \leq k \leq n-1 \ \left[ \frac{n-1}{n}, 1 \right] ;;; k=n \end{cases}$$
convergent sequence of graph signals
Let be a sequence of graph signals and . If there exists a sequence of permutations such that for all motifs
\lim_{ n \to \infty } t(F, G_{n}) &\to \tilde{t}(F,W) \,\,\,\text{and} \\ \lim_{ n \to \infty } \lvert \lvert {\cal X}_{\pi_{n}(G_{n})} - {\cal X} \rvert \rvert_{2} &\to 0 \end{align}$$ Where - $t$ and $\tilde{t}$ are the [[homomorphism density]] and [[graphon homomorphism density]] respectively - $W$ is a [[graphon]] - ${\cal X}$ is a [[graphon signal]] Then $\{ G_{n}, x_{n} \}$ is a **sequence of convergent graph signals** with limit $(W, {\cal X})$.
see convergent sequence of graph signals
Notes on Permutation
- The permutation sequence is independent of the node labels.
- If we define a cut distance for graphon signals, then we can define a convergent sequence of graph signals without using the permutations. This is done in Levie 2023.
- Since signals we work with are in , it is not too bad to use this definition.
The graphon shift operator
Let be a graphon. The graphon shift operator is the integral linear operator which maps
NOTE
A graphon shift operator is a Hilbert-Schmidt integral operator (continuous and compact) because graphons are bounded And has Hilbert-Schmidt norm
Graphon Fourier Transform
Theorem
Let be a graphon and its graphon shift operator. Then is self-adjoint.
Proof
graphons are symmetric. So
see graphon shift operators are self-adjoint
Theorem
Let be Hilbert space and a self-adjoint, compact operator. Then there exists an orthonormal basis of consisting of eigenfunctions of .
This basis, call it , is countably infinite with corresponding real eigenvalues satisfying as .
NOTE
For graphon signals, and
see spectral theorem for self-adjoint compact operators on Hilbert spaces
eigenfunction
Let be a linear operator on a function space . An eigenfunction is a function (not zero everywhere) with associated eigenvalue such that Eigenfunctions are a generalization of eigenvectors to infinite dimensions.
see eigenfunction
The function is an eigenfunction of graphon signal with eigenvalue if . There are infinitely many pairs (possibly with geometric multiplicity larger than 1), but the eigenpairs are countable Since the form an orthonormal basis, they have unit norm
Takeaway
We can write the graphon in the basis for its graphon shift operator as (compare this to for graph shift operator)
see we can write a graphon in the basis of its shift operator
Eigenvalue range
For a graphon and graphon shift operator , the eigenvalues of lie in {==1||==}. This is because
- {==2||==} and
- {==2||==},
(The reasoning is analogous to matrix norms are bounded below by the spectral radius)
And since {==2||==}, the only possible accumulation point for the eigenvalues of is {1||0}
- (this is a direct result of the second part of {==3||the spectral theorem for self-adjoint compact operators on Hilbert spaces==})
Thus we can order the eigenvalues as so that
Example
Eigenvalue accumulation at (and only at ) equivalently means that for any see graphon shift operator eigenvalues
Eigenvalue Convergence
Theorem
Let be a convergent graph sequence with limit graphon . Then ie, the eigenvalues of the induced graphon converge to the eigenvalues of the limit.
Where
- is the adjacency matrix of
- is the graphon induced by
- the graphon shift operator for
Proof
Thus
T_{W_{n}} \varphi(v) &= \int _{0}^1 W_{n}(u,v) \varphi(u)\, du &= \lambda \varphi(v) \\ &= \int _{0}^1 \sum_{i,j=1}^n [A_{n}]_{ij} \mathbb{1}(u \in I_{i}) \mathbb{1}(v \in I_{j}) \varphi(u)\, du &= \lambda \varphi(v) \\ &= \mathbb{1}(v \in I_{j}) \int _{0}^1 \sum_{i,j=1}^n [A_{n}]_{ij} \mathbb{1}(u \in I_{i}) \varphi(u) \, du &= \lambda \varphi(v) \\ \implies &= \sum_{i,j=1}^n [A_{n}]_{ij} \int _{0}^1 \mathbb{1}(u \in I_{i}) \varphi(u) \, du &=\lambda \varphi(v \in I_{j}) \end{aligned} $$ LHS is a constant for each $v \in I_{j}$. This means that $\varphi$ is a step function $\varphi(v \in I_{j}) = x_{j}$. Thus, we can rewrite the last line as $$\begin{aligned} \lambda x_{j} &= \sum_{i=1}^n [A_{n}]_{ij} x_{i} \frac{1}{n} \end{aligned}$$ since for each $i$ we have $\varphi(u) = \begin{cases} x_{i},\,\,x_{i} \in I_{i}\\0, \,\,\,\text{otherwise}\end{cases}$ . The above is just a matrix multiplication, so we get $$\begin{align} \implies \lambda x &= \frac{1}{n} A_{n}x \\ \implies \lambda_{j} (T_{W_{n}}) &= \frac{\lambda_{j}(A_{n})}{n} \;\;\;\forall j \end{align}$$ For convergence, this means that $$\begin{align} (\text{1}) & &\, t(c_{k}, G_{n}) &= \sum_{i=1}^n \lambda_{i}^k \\ (2) & &\, t(c_{k}, G_{n}) &\to \tilde{t}(c_{k}, W) \end{align}$$ where - $c_{k}$ is the $k$-cycle graph - $t$ is the graph [[homomorphism density]] - $\tilde{t}$ is the [[graphon homomorphism density]] (the full proof involves writing out the expressions for (1) and showing (2) by showing the elements in the sum converge pointwise. We do not show this for this class.)
see eigenvalues of the induced graphon converge pointwise to the eigenvalues of the limit
the graphon Fourier transform
Note that can be written as
(T_{W}x)(v) &= \int _{0}^1 W(u,v) {\cal X}(u) \, du \\ &=\int _{0}^1 \sum_{j \in \mathbb{Z}\setminus \{ 0 \}} \lambda_{j} \varphi_{j}(u) \varphi_{j}(v)\,{\cal X}(u) du \\ &= \sum_{j \in \mathbb{Z} \setminus \{ 0 \}} \lambda_{j} \varphi_{j}(v) \int {\cal X}(u) \varphi_{j}(u) \, du \\ \end{align}$$ ie we can represent the {==1||[[graphon signal]] ${\cal X}$==} in the {==2||[[graphon]] eigenbasis==}. This {==2||change of basis==} is the {==3||[[graphon fourier transform]]==}. > [!def] Graphon Fourier transform > > The **graphon fourier transform** of a [[graphon signal]] $(W,{\cal X})$ is a functional ${\cal \hat{X}} = WFT({\cal X})$ defined as > $${\cal \hat{X}}_{j} = {\cal \hat{X}}(\lambda_{j}) = \int _{0}^1 {\cal X}(u) \varphi_{j}(u)\, du $$ > where $\lambda_{j}$ are the [[eigenvalue|eigenvalues]] of the [[graphon]] $W$ and $\{ \varphi_{i} \}$ are the [[eigenfunction|eigenfunctions]]. > [!NOTE] > > Since the $\lambda_{j}$ are countable, the WFT is always defined. > [!def] Inverse graphon Fourier transform > > Let $W$ be a [[graphon]] and ${\cal X}$ a [[graphon signal]]. The **inverse graphon fourier transform** (iWFT) is defined as > $$iWFT({\cal \hat{X}}) = \sum_{j \in \mathbb{Z} \setminus \{ 0 \}} {\cal \hat{X}}(\lambda_{j}) \varphi_{j} = {\cal X}$$ > we recover ${\cal X}$ since $\{ \varphi_{j} \}$ are an orthonormal basis. This means that iWFT is an proper inverse of the [[graphon fourier transform]]. see [[inverse graphon fourier transform]] > [!question] > > Does the [[graph fourier transform]] converge to the [[graphon fourier transform]]? Why do we care? lecture 16 ipynb Misclassification on noisy SBM, but graphon has no issues. So the induced graphon is helpful if it converges. Spectrum for graphon is much more useful - we can see the number of communities in the spectral content - think about the alignment with this??? This is basically the reasoning for the complexity seen in the last layer for classification? brice - smaller graph = bad (30 nodes) and noisy - 50, 100, 300 nodes = good -> better - same for projection signal and projection - projection noisy for graph intra- and inter- community probabilities fairly close for this example (close to [[information theoretic threshold]]) Next time: more on this ```datacorejsx const { dateTime } = await cJS() return function View() { const file = dc.useCurrentFile(); return <p class="dv-modified">Created {dateTime.getCreated(file)} ֍ Last Modified {dateTime.getLastMod(file)}</p> } ```