Orignal Ariticle: link
本期,根据维基百科、知乎整理出图上的傅里叶变换。
In mathematics, graph Fourier transform is a mathematical transform which eigendecomposes the Laplacian matrix of a graph into eigenvalues and eigenvectors. Analogously to classical Fourier Transform, the eigenvalues represent frequencies and eigenvectors form what is known as a graph Fourier basis.
Graph Fourier Transform (GFT) is defined as:
G F [ f ] ( λ l ) = f ^ ( λ l ) = < f , u l > = ∑ i = 1 N f ( i ) u l T ( i ) . \mathcal{GF}[f](\lambda_l) = \hat{f} (\lambda_l) = <\pmb{f}, \pmb{u}_l> = \sum_{i = 1}^{N} f(i) u_l^T(i). GF[f](λl)=f^(λl)=<fff,uuul>=i=1∑Nf(i)ulT(i).
where
It can also be represented as
[ f ^ ( λ 1 ) f ^ ( ( λ 2 ) ⋮ f ^ ( ( λ N ) ] = [ u 1 ( 1 ) u 2 ( 1 ) ⋯ u N ( 1 ) u 1 ( 2 ) u 2 ( 2 ) ⋯ u N ( 2 ) ⋮ ⋮ ⋱ ⋮ u 1 ( N ) u 2 ( N ) ⋯ u N ( N ) ] T [ f ( 1 ) f ( 2 ) ⋮ f ( N ) ] , \begin{aligned}\begin{bmatrix}\hat{f}(\lambda_1)\\\hat{f}((\lambda_2)\\\vdots\\\hat{f}((\lambda_N)\end{bmatrix}=\begin{bmatrix}u_1(1) & u_2(1) & \cdots & u_{N}(1)\\u_1(2) & u_2(2) & \cdots & u_{N}(2)\\\vdots & \vdots & \ddots & \vdots\\u_1(N) & u_2(N) & \cdots & u_{N}(N)\\\end{bmatrix}^T\begin{bmatrix}f(1)\\f(2)\\\vdots\\f(N)\end{bmatrix}\end{aligned}, ⎣⎢⎢⎢⎡f^(λ1)f^((λ2)⋮f^((λN)⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡u1(1)u1(2)⋮u1(N)u2(1)u2(2)⋮u2(N)⋯⋯⋱⋯uN(1)uN(2)⋮uN(N)⎦⎥⎥⎥⎤T⎣⎢⎢⎢⎡f(1)f(2)⋮f(N)⎦⎥⎥⎥⎤,
which is equal to
f ^ = U T f . \pmb{\hat{f}} = {\bf U}^T \pmb{f} . f^f^f^=UTfff.
Since Laplacian matrix L {\bf L} L is a real symmetric matrix, its eigenvectors u 1 , u 2 , ⋯ , u N \pmb{u}_1, \pmb{u}_2, \cdots, \pmb{u}_{N} uuu1,uuu2,⋯,uuuN form an orthogonal basis. Hence an inverse graph Fourier transform (IGFT) exists, and it is written as
I G F [ f ^ ] ( i ) = f ( i ) = < f ^ , u l > = ∑ i = 1 n f ^ ( λ l ) u l ( i ) . \mathcal{IGF}[\hat{f}](i)= f (i) = <\pmb{\hat{f}}, \pmb{u}_l> =\sum_{i = 1}^{n} \hat{f}(\lambda_l) u_l(i). IGF[f^](i)=f(i)=<f^f^f^,uuul>=i=1∑nf^(λl)ul(i).
It can be also represented as
[ f ( 1 ) f ( 2 ) ⋮ f ( N ) ] = [ u 1 ( 1 ) u 2 ( 1 ) ⋯ u N ( 1 ) u 1 ( 2 ) u 2 ( 2 ) ⋯ u N ( 2 ) ⋮ ⋮ ⋱ ⋮ u 1 ( N ) u 2 ( N ) ⋯ u N ( N ) ] [ f ^ ( λ 1 ) f ^ ( ( λ 2 ) ⋮ f ^ ( ( λ N ) ] , \begin{aligned}\begin{bmatrix}f(1)\\f(2)\\ \vdots\\ f(N) \end{bmatrix}= \begin{bmatrix} u_1(1) & u_2(1) & \cdots & u_{N}(1)\\ u_1(2) & u_2(2) & \cdots & u_{N}(2)\\ \vdots & \vdots & \ddots & \vdots\\ u_1(N) & u_2(N) & \cdots & u_{N}(N)\\ \end{bmatrix} \begin{bmatrix} \hat{f}(\lambda_1)\\ \hat{f}((\lambda_2)\\ \vdots\\ \hat{f}((\lambda_N) \end{bmatrix} \end{aligned}, ⎣⎢⎢⎢⎡f(1)f(2)⋮f(N)⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡u1(1)u1(2)⋮u1(N)u2(1)u2(2)⋮u2(N)⋯⋯⋱⋯uN(1)uN(2)⋮uN(N)⎦⎥⎥⎥⎤⎣⎢⎢⎢⎡f^(λ1)f^((λ2)⋮f^((λN)⎦⎥⎥⎥⎤,
which is equal to
f = U f ^ . \pmb{f} = {\bf U} \pmb{\hat{f}}. fff=Uf^f^f^.
The eigenvectors of Laplacian matrix are a set of linearly independent orthogonal bases, thus any graph signal can be expressed as a linear combination of the eigenvectors of Laplacian matrix
f = f ^ 1 u 1 + f ^ 2 u 2 + ⋯ + f ^ N u N . \pmb{f} = \pmb{\hat{f}}_1 \pmb{u}_1+\pmb{\hat{f}}_2 \pmb{u}_2+\cdots+\pmb{\hat{f}}_N \pmb{u}_N. fff=f^f^f^1uuu1+f^f^f^2uuu2+⋯+f^f^f^NuuuN.
Generalized convolution in the vertex domain is multiplication in the graph spectral domain:
f ∗ h = IGFT ( f ^ h ^ ) \pmb{f} * \pmb{h} = \text{IGFT} (\pmb{\hat{f}} \pmb{\hat{h}}) fff∗hhh=IGFT(f^f^f^h^h^h^)
which can be also expressed as
f ∗ h ( i ) = ∑ l = 1 N f ^ ( λ l ) h ^ ( λ l ) u l ( i ) . \pmb{f} * \pmb{h}(i) = \sum_{l = 1}^{N} \hat{f}(\lambda_l)\hat{h}(\lambda_l) u_l(i). fff∗hhh(i)=l=1∑Nf^(λl)h^(λl)ul(i).
Steps of Convolution Operation on Graph:
f ∗ h = U f ^ h ^ = U [ h ^ ( λ 1 ) ⋱ h ^ ( λ N ) ] U T f \begin{aligned}\pmb{f} * \pmb{h} &= {\bf U} \pmb{\hat{f}} \pmb{\hat{h}}\\&={\bf U}\begin{bmatrix}\hat{h}(\lambda_1) & & \\ & \ddots & \\ & & \hat{h}(\lambda_N)\end{bmatrix}{\bf U}^T\pmb{f}\end{aligned} fff∗hhh=Uf^f^f^h^h^h^=U⎣⎡h^(λ1)⋱h^(λN)⎦⎤UTfff